7 #ifndef CBM_ANA_CONVERSION_KINEMATIC_PARAMS
8 #define CBM_ANA_CONVERSION_KINEMATIC_PARAMS
11 #include "TLorentzVector.h"
14 #define M2E 2.6112004954086e-7
36 TLorentzVector lorVec1;
38 TVector3 part1 = lorVec1.Vect();
39 Double_t energy1 = lorVec1.Energy();
41 TLorentzVector lorVec2;
43 TVector3 part2 = lorVec2.Vect();
44 Double_t energy2 = lorVec2.Energy();
46 TLorentzVector lorVec3;
48 TVector3 part3 = lorVec3.Vect();
49 Double_t energy3 = lorVec3.Energy();
51 TLorentzVector lorVec4;
53 TVector3 part4 = lorVec4.Vect();
54 Double_t energy4 = lorVec4.Energy();
57 sum = lorVec1 + lorVec2 + lorVec3 + lorVec4;
59 TVector3 momPair = part1 + part2 + part3 + part4;
60 Double_t energyPair = energy1 + energy2 + energy3 + energy4;
61 Double_t pzPair = momPair.Pz();
63 0.5 * TMath::Log((energyPair + pzPair) / (energyPair - pzPair));
65 Double_t invmass = sum.Mag();
67 Double_t perp = sum.Perp();
74 params.
fMinv = invmass;
75 params.
fRap2 = sum.Rapidity();
87 const TVector3 part4) {
90 Double_t energy1 = TMath::Sqrt(part1.Mag2() +
M2E);
91 TLorentzVector lorVec1(part1, energy1);
93 Double_t energy2 = TMath::Sqrt(part2.Mag2() +
M2E);
94 TLorentzVector lorVec2(part2, energy2);
96 Double_t energy3 = TMath::Sqrt(part3.Mag2() +
M2E);
97 TLorentzVector lorVec3(part3, energy3);
99 Double_t energy4 = TMath::Sqrt(part4.Mag2() +
M2E);
100 TLorentzVector lorVec4(part4, energy4);
103 sum = lorVec1 + lorVec2 + lorVec3 + lorVec4;
105 TVector3 momPair = part1 + part2 + part3 + part4;
106 Double_t energyPair = energy1 + energy2 + energy3 + energy4;
107 Double_t pzPair = momPair.Pz();
109 0.5 * TMath::Log((energyPair + pzPair) / (energyPair - pzPair));
111 Double_t invmass = sum.Mag();
113 Double_t perp = sum.Perp();
120 params.
fMinv = invmass;
121 params.
fRap2 = sum.Rapidity();
129 const TVector3 electron2) {
132 Double_t energyP = TMath::Sqrt(electron1.Mag2() +
M2E);
133 TLorentzVector lorVecP(electron1, energyP);
135 Double_t energyM = TMath::Sqrt(electron2.Mag2() +
M2E);
136 TLorentzVector lorVecM(electron2, energyM);
138 TVector3 momPair = electron1 + electron2;
139 Double_t energyPair = energyP + energyM;
140 Double_t ptPair = momPair.Perp();
141 Double_t pzPair = momPair.Pz();
143 0.5 * TMath::Log((energyPair + pzPair) / (energyPair - pzPair));
144 Double_t anglePair = lorVecM.Angle(lorVecP.Vect());
145 Double_t theta = 180. * anglePair /
TMath::Pi();
146 Double_t minv = 2. * TMath::Sin(anglePair / 2.)
147 * TMath::Sqrt(electron1.Mag() * electron2.Mag());