fRatio(0),
fkTMonitor(0),
fDetaDphiscal(kFALSE),
+ fPairKinematics(kFALSE),
fRaddedps(1.2),
fNumDEtaDPhiS(0),
- fDenDEtaDPhiS(0)
+ fDenDEtaDPhiS(0),
+ PairReader(0)// ,
+ // fTrack1(NULL),
+ // fTrack2(NULL)
+
{
// set up numerator
// title = "Num Qinv (MeV/c)";
strncat(tTitDenDeDp,title, 100);
fDenDEtaDPhiS = new TH2D(tTitDenDeDp,title,500,-0.2*TMath::Pi(),0.2*TMath::Pi(),500,-0.5,0.5);
+ char tTitPair[101] = "Pair";
+ strncat(tTitPair,title, 100);
+ PairReader = new TNtuple(tTitPair,title, "px1:py1:pz1:e1:px2:py2:pz2:e2");
+
// this next bit is unfortunately needed so that we can have many histos of same "title"
// it is neccessary if we typedef TH1D to TH1d (which we do)
fRatio(0),
fkTMonitor(0),
fDetaDphiscal(kFALSE),
+ fPairKinematics(kFALSE),
fRaddedps(1.2),
fNumDEtaDPhiS(0),
- fDenDEtaDPhiS(0)
+ fDenDEtaDPhiS(0),
+ PairReader(0)// ,
+ // fTrack1(NULL),
+ // fTrack2(NULL)
+
{
// copy constructor
fNumerator = new TH1D(*aCorrFctn.fNumerator);
fDetaDphiscal = aCorrFctn.fDetaDphiscal;
fRaddedps = aCorrFctn.fRaddedps;
+ fPairKinematics = aCorrFctn.fPairKinematics;
+
+ if (aCorrFctn.PairReader)
+ PairReader = (TNtuple*)aCorrFctn.PairReader;
+
}
//____________________________
AliFemtoQinvCorrFctn::~AliFemtoQinvCorrFctn(){
delete fkTMonitor;
delete fNumDEtaDPhiS;
delete fDenDEtaDPhiS;
+ delete PairReader;
}
//_________________________
fDetaDphiscal = aCorrFctn.fDetaDphiscal;
fRaddedps = aCorrFctn.fRaddedps;
+ fPairKinematics = aCorrFctn.fPairKinematics;
+
+ if (aCorrFctn.PairReader)
+ PairReader = (TNtuple*)aCorrFctn.PairReader;
+
return *this;
}
//AliWarning("Could not get AODInputHandler");
}
else {
- AliAODEvent *fAOD;
- magsign = fAOD->GetMagneticField();
+ AliAODEvent *fAOD; // = new AliAODEvent()
fAOD = aodH->GetEvent();
+ magsign = fAOD->GetMagneticField();
}
double tQinv = fabs(pair->QInv()); // note - qInv() will be negative for identical pairs...
fDenominator->Fill(tQinv,weight);
+ if (fPairKinematics) {
+ AliFemtoParticle* fTrack1 = pair->Track1();
+ AliFemtoParticle* fTrack2 = pair->Track2();
+
+ double px1 = fTrack1->FourMomentum().vect().x();
+ double py1 = fTrack1->FourMomentum().vect().y();
+ double pz1 = fTrack1->FourMomentum().vect().z();
+ double e1 = fTrack1->FourMomentum().e();
+
+ double px2 = fTrack2->FourMomentum().vect().x();
+ double py2 = fTrack2->FourMomentum().vect().y();
+ double pz2 = fTrack2->FourMomentum().vect().z();
+ double e2 = fTrack2->FourMomentum().e();
+ PairReader->Fill(px1, py1, pz1, e1, px2, py2, pz2, e2);
+ }
+
//_______________________________________
if (fDetaDphiscal) {
fNumDEtaDPhiS->Write();
fDenDEtaDPhiS->Write();
}
+ if (fPairKinematics) {
+ PairReader->Write();
+ }
}
//______________________________
TList* AliFemtoQinvCorrFctn::GetOutputList()
tOutputList->Add(fNumDEtaDPhiS);
tOutputList->Add(fDenDEtaDPhiS);
}
+ if (fPairKinematics) {
+ tOutputList->Add(PairReader);
+ }
return tOutputList;
}
fDetaDphiscal = dedpsc;
fRaddedps = rad;
}
+
+void AliFemtoQinvCorrFctn::CalculatePairKinematics(Bool_t pk) {
+ fPairKinematics = pk;
+}