25 #include "FairRootManager.h"
26 #include "FairRunAna.h"
27 #include "FairRuntimeDb.h"
29 #include "FairRuntimeDb.h"
32 #include "TClonesArray.h"
36 #include "TDatabasePDG.h"
61 FairTask(
"Panda Scrutiny Analysis Task")
64 fIni.SetXYZT(0,0,pbarmom,
sqrt(pbarmom*pbarmom+mp*mp)+mp);
92 fPdg = TDatabasePDG::Instance();
95 double m0_jpsi =
fPdg->GetParticle(
"J/psi")->Mass();
102 TDirectory *dir = gDirectory;
127 FairRun*
run = FairRun::Instance();
128 if ( ! run ) Fatal(
"SetParContainers",
"No analysis run");
149 TString pidalg =
"PidChargedProbability";
175 qa.qaMcList(
"", mclist,
nmc);
180 jpsi.Combine(muplus, muminus);
186 for (j=0;j<jpsi.GetLength();++j)
191 ntp1->
Column(
"ncand", (Float_t) jpsi.GetLength());
198 qa.qaComp(
"j", jpsi[j],
ntp1);
201 qa.qaEventShapeShort(
"es",&evsh,
ntp1);
206 if (truth) lv = truth->
P4();
207 qa.qaP4(
"trj", lv,
ntp1);
217 psi2s.Combine(jpsi, piplus, piminus);
218 psi2s.SetType(100443);
222 for (j=0;j<psi2s.GetLength();++j)
227 ntp2->
Column(
"ncand", (Float_t) psi2s.GetLength());
239 qa.qaComp(
"psi", psi2s[j],
ntp2);
240 qa.qaComp(
"fpsi",psifit,
ntp2);
244 qa.qaEventShapeShort(
"es",&evsh,
ntp2);
249 if (truth) lv = truth->
P4();
250 qa.qaP4(
"trpsi", lv,
ntp2);
friend F32vec4 sqrt(const F32vec4 &a)
RhoMassParticleSelector * jpsiMassSel
virtual void SetParContainers()
Bool_t FillList(RhoCandList &l, TString listkey="All", TString pidTcaNames="", int trackHypothesis=-1)
void Add4MomConstraint(TLorentzVector lv)
RhoMassParticleSelector * jpsiPreMassSel
virtual void Exec(Option_t *opt)
TLorentzVector P4() const
void Column(const char *label, Bool_t value, Bool_t defval=0, const char *block=0)
RhoCandidate * GetMcTruth() const
virtual InitStatus Init()
RhoCandidate * GetFit() const
TTree * GetInternalTree()
Bool_t McTruthMatch(RhoCandidate *cand, Int_t level=2, bool verbose=false)
Int_t GetEvent(Int_t n=-1)
PndScrutAnaTask(double pbarmom, TString outname)