Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
TwoTrackMinvCut.cxx
1/*
2 * TwoTrackMinvCut.cpp
3 *
4 * Created on: 25-03-2015
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9
10#include "TwoTrackMinvCut.h"
11
12#include "Track.h"
13#include "TwoTrack.h"
14
15namespace Hal {
16 TwoTrackMinvCut::TwoTrackMinvCut() : TwoTrackCut(1) { SetUnitName("M_{inv} [GeV/c]"); }
17
18 Bool_t TwoTrackMinvCut::Pass(TwoTrack* pair) {
19 Double_t px1, py1, pz1, e1;
20 Double_t px2, py2, pz2, e2;
21 px1 = pair->GetTrack1()->GetPx();
22 py1 = pair->GetTrack1()->GetPy();
23 pz1 = pair->GetTrack1()->GetPz();
24 e1 = pair->GetTrack1()->GetE();
25 switch (pair->GetPairType()) {
26 case TwoTrack::kHemishpere: {
27 px2 = -pair->GetTrack2()->GetPx();
28 py2 = -pair->GetTrack2()->GetPy();
29 pz2 = -pair->GetTrack2()->GetPz();
30 e2 = pair->GetTrack2()->GetE();
31 } break;
32 case TwoTrack::kRotated: {
33 px2 = -pair->GetTrack2()->GetPx();
34 py2 = -pair->GetTrack2()->GetPy();
35 pz2 = pair->GetTrack2()->GetPz();
36 e2 = pair->GetTrack2()->GetE();
37 } break;
38 default: {
39 px2 = pair->GetTrack2()->GetPx();
40 py2 = pair->GetTrack2()->GetPy();
41 pz2 = pair->GetTrack2()->GetPz();
42 e2 = pair->GetTrack2()->GetE();
43 } break;
44 }
45
46 Double_t m_inv =
47 TMath::Sqrt((e1 + e2) * (e1 + e2) - (px1 + px2) * (px1 + px2) - (py1 + py2) * (py1 + py2) - (pz1 + pz2) * (pz1 + pz2));
48 SetValue(m_inv);
49 return Validate();
50 }
51
52 TwoTrackMinvCut::~TwoTrackMinvCut() {
53 // TODO Auto-generated destructor stub
54 }
55} // namespace Hal
Double_t GetPz() const
Definition Track.h:109
Double_t GetPx() const
Definition Track.h:99
Double_t GetPy() const
Definition Track.h:104
Double_t GetE() const
Definition Track.h:114
PairType GetPairType() const
Definition TwoTrack.h:70
Track * GetTrack1() const
Definition TwoTrack.h:75
Track * GetTrack2() const
Definition TwoTrack.h:80