Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
TwoTrackEtaCut.cxx
1/*
2 * TwoTrackEtaCut.cxx
3 *
4 * Created on: 24-04-2015
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#include "TwoTrackEtaCut.h"
11
12#include "Track.h"
13#include "TwoTrack.h"
14
15#include <TLorentzVector.h>
16
17namespace Hal {
18 TwoTrackEtaCut::TwoTrackEtaCut() : TwoTrackCut(1) { SetUnitName("#eta_{pair}"); }
19
20 Bool_t TwoTrackEtaCut::Pass(TwoTrack* pair) {
21 TLorentzVector p = pair->GetTrack1()->GetMomentum();
22 p += pair->GetTrack2()->GetMomentum();
23 switch (pair->GetPairType()) {
24 case TwoTrack::kRotated: {
25 TLorentzVector p2 = pair->GetTrack2()->GetMomentum();
26 p2.SetXYZT(-p2.X(), -p2.Y(), p2.Z(), p2.T());
27 p += p2;
28 } break;
29 case TwoTrack::kHemishpere: {
30 TLorentzVector p2 = pair->GetTrack2()->GetMomentum();
31 p2.SetXYZT(p2.X(), -p2.Y(), -p2.Z(), p2.T());
32 p += p2;
33 } break;
34 default: {
35 TLorentzVector p2 = pair->GetTrack2()->GetMomentum();
36 p += p2;
37 break;
38 }
39 }
40 SetValue(p.Eta());
41 return Validate();
42 }
43
44 TwoTrackEtaCut::~TwoTrackEtaCut() {
45 // TODO Auto-generated destructor stub
46 }
47} // namespace Hal
const TLorentzVector & GetMomentum() const
Definition Track.h:118
PairType GetPairType() const
Definition TwoTrack.h:70
Track * GetTrack1() const
Definition TwoTrack.h:75
Track * GetTrack2() const
Definition TwoTrack.h:80