Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
TwoTrackDebugCut.cxx
1/*
2 * TwoTrackDebugCut.cxx
3 *
4 * Created on: 17-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 "TwoTrackDebugCut.h"
11
12#include "McTrack.h"
13#include "DataFormatManager.h"
14#include "TwoTrack.h"
15namespace Hal {
16 TwoTrackDebugCut::TwoTrackDebugCut() : TwoTrackCut(2) {
17 SetUnitName("mass_first", 0);
18 SetUnitName("mass_second", 1);
19 }
20
21 Bool_t TwoTrackDebugCut::Pass(TwoTrack* pair) {
22 Track* track1 = pair->GetTrack1();
23 Track* track2 = pair->GetTrack2();
24
25 const TLorentzVector& p1 = track1->GetMomentum();
26 const TLorentzVector& p2 = track2->GetMomentum();
27 const TLorentzVector& x1 = ((McTrack*) track1)->GetFreezoutPosition();
28 const TLorentzVector& x2 = ((McTrack*) track2)->GetFreezoutPosition();
29
30
31 Double_t dpx, dpy, dpz, de;
32 Double_t dx, dy, dz, dt;
33 dpx = p1.X() - p2.X();
34 dpy = p1.Y() - p2.Y();
35 dpz = p1.Z() - p2.Z();
36 de = p1.T() - p2.T();
37
38 dx = x1.X() - x2.X();
39 dy = x1.Y() - x2.Y();
40 dz = x1.Z() - x2.Z();
41 dt = x1.T() - x2.T();
42
43 Double_t w = 1.0 + TMath::Cos((dpx * dx + dpy * dy + dpz * dz - dt * de) / 0.197327);
44 Double_t q = TMath::Sqrt(TMath::Abs(dpx * dpx + dpy * dpy + dpz * dpz - de * de));
45
46 SetValue(w, 0);
47 SetValue(q, 1);
48 return kTRUE;
49 }
50
51 TwoTrackDebugCut::~TwoTrackDebugCut() {}
52} // namespace Hal
const TLorentzVector & GetMomentum() const
Definition Track.h:118
Track * GetTrack1() const
Definition TwoTrack.h:75
Track * GetTrack2() const
Definition TwoTrack.h:80