25 #include "FairRootManager.h"
26 #include "FairRunAna.h"
27 #include "FairRuntimeDb.h"
29 #include "FairRuntimeDb.h"
32 #include "TClonesArray.h"
50 #include "PndChiVtxFitter.h"
64 FairTask(
"Panda Tutorial Analysis Task")
67 fIni.SetXYZT(0,0,pbarmom,
sqrt(pbarmom*pbarmom+mp*mp)+mp);
101 FairRun*
run = FairRun::Instance();
102 if ( ! run ) Fatal(
"SetParContainers",
"No analysis run");
112 int i=0,j=0, k=0, l=0;
124 TString pidsel =
"PidAlgoEmcBayes;PidAlgoDrc;PidAlgoDisc;PidAlgoStt;PidAlgoMdtHardCuts";
147 TLorentzVector d0cm = d0[j]->P4();
148 TLorentzVector kacm = dka->
P4();
149 TLorentzVector picm = dpi->
P4();
150 d0cm.Boost(-
fIni.BoostVector());
151 kacm.Boost(-
fIni.BoostVector());
152 picm.Boost(-
fIni.BoostVector());
161 nd0->
Column(
"pdg", (Float_t) d0[j]->PdgCode());
164 nd0->
Column(
"d0m", (Float_t) d0[j]->M());
166 nd0->
Column(
"d0tht", (Float_t) d0[j]->P3().Theta());
167 nd0->
Column(
"d0phi", (Float_t) d0[j]->P3().Phi());
168 nd0->
Column(
"d0pt", (Float_t) d0[j]->P3().Pt());
169 nd0->
Column(
"d0pcm", (Float_t) d0cm.P());
170 nd0->
Column(
"d0thtcm", (Float_t) d0cm.Theta());
184 nd0->
Column(
"kapcm", (Float_t) kacm.P());
185 nd0->
Column(
"kathtcm", (Float_t) kacm.Theta());
193 nd0->
Column(
"pipcm", (Float_t) picm.P());
194 nd0->
Column(
"pithtcm", (Float_t) picm.Theta());
void Append(const RhoCandidate *c)
PndTutAnaTaskD0(double pbarmom)
friend F32vec4 sqrt(const F32vec4 &a)
RhoMassParticleSelector * fD0Sel
Bool_t FillList(RhoCandList &l, TString listkey="All", TString pidTcaNames="", int trackHypothesis=-1)
PndPidCandidate * GetRecoCandidate() const
virtual void SetParContainers()
void Combine(RhoCandList &l1, RhoCandList &l2)
Double_t GetPocaVtx(TVector3 &vertex, RhoCandidate *composite)
virtual InitStatus Init()
void Select(RhoParticleSelectorBase *pidmgr)
TLorentzVector P4() const
void Column(const char *label, Bool_t value, Bool_t defval=0, const char *block=0)
void SetType(const TParticlePDG *pdt, int start=0)
TTree * GetInternalTree()
virtual void Exec(Option_t *opt)
Bool_t McTruthMatch(RhoCandidate *cand, Int_t level=2, bool verbose=false)
Int_t GetEvent(Int_t n=-1)
double GetPidInfo(int hypo)