Tutorial feb2012 [message #13464] |
Thu, 10 May 2012 11:01 |
Dmitry Khaneft
Messages: 75 Registered: January 2009
|
continuous participant |
From: *kph.uni-mainz.de
|
|
Dear all,
I try to follow tutorial available at feb12.
I slightly modified it for my needsand try to plot some simple distributions but I can't see an effect of applying different PID criteria.
For example: All, VeryLoose, Loose, Tight, VeryTight give same results.
Here is a part of my code.
// *** TCandLists for the analysis
TCandList eplus, eminus;
...
while (theAnalysis->GetEvent() && i++<nevts){
if ((i%1000)==0) cout << "Number of events analysed: " << i << endl;
// *** Select with no PID info ('All'); type and mass are set
theAnalysis->FillList(eplus, "ElectronTightPlus");
//theAnalysis->FillList(eplus, "ElectronTightPlus","PidAlgoEmcBayes");
theAnalysis->FillList(eminus, "ElectronTightPlus");
//theAnalysis->FillList(eminus, "ElectronTightMinus","PidAlgoEmcBayes");
// ELECTRONS ***
for (Int_t j=0;j<eminus.GetLength();++j){
// Fill momentum of reconstructed particles
hP->Fill(eminus[j].GetMomentum().Mag());
// Fill energy of reconstructed particles
hE->Fill(eminus[j].Energy());
// Fill momentum vs E/p
hEP->Fill(eminus[j].GetMomentum().Mag(), eminus[j].Energy()/eminus[j].GetMomentum().Mag());
// *** CM frame *** //
// boost from LAB to CM
lv_charged_cm.SetVect(eminus[j].GetMomentum());
lv_charged_cm.SetE(TMath::Sqrt(cElectronMass*cElectronMass + eminus[j].GetMomentum().Mag()*eminus[j].GetMomentum().Mag()));
lv_charged_cm.Boost(-(lv_bar_beam + lv_p_target).BoostVector());
hCosTheta_N_CM->Fill(lv_charged_cm.CosTheta());
}
for (Int_t j=0;j<eplus.GetLength();++j){
// Fill momentum of reconstructed particles
hP->Fill(eplus[j].GetMomentum().Mag());
// Fill energy of reconstructed particles
hE->Fill(eplus[j].Energy());
// Fill momentum vs E/p
hEP->Fill(eplus[j].GetMomentum().Mag(), eplus[j].Energy()/eplus[j].GetMomentum().Mag());
// *** CM frame *** //
// boost from LAB to CM
lv_charged_cm.SetVect(eplus[j].GetMomentum());
lv_charged_cm.SetE(TMath::Sqrt(cElectronMass*cElectronMass + eplus[j].GetMomentum().Mag()*eplus[j].GetMomentum().Mag()));
lv_charged_cm.Boost(-(lv_bar_beam + lv_p_target).BoostVector());
hCosTheta_P_CM->Fill(lv_charged_cm.CosTheta());
}
}
In addition histograms filled with energy and momentum are the same. Using "PidAlgoEmcBayes" also gives no effect.
Is it suppose to be like this or I do something wrong?
P.S. I used trunk 15407 instead of 14709 because later couldn't be compiled.
Cheers,
Dmitry
|
|
|