21 if (Fname==
"" || anadecay==
"")
24 cout <<
"quickana.C( <input>, <mom>, <decay>, [nevt], [parms], [fastsim], [runST], [runnum] )\n\n";
25 cout <<
" <input> : input file name with PndPidCandidates\n";
26 cout <<
" <mom> : pbar momentum; negative values are interpreted as -E_cm\n";
27 cout <<
" <decay> : the decay pattern to be reconstructed, e.g. 'phi -> K+ K-; D_s+ -> phi pi-'\n";
28 cout <<
" [nevt] : number of events; default: 0 = all\n";
29 cout <<
" [parms] : parameters for the analysis, e.g. 'mwin=0.4:mwin(phi)=0.1:emin=0.1:pmin=0.1:qamc'\n";
30 cout <<
" [fastsim] : set true, if running fast sim (sets the PID algos properly); default: false'\n";
31 cout <<
" [runST] : if 'true' runs Software Trigger (default: false)\n";
32 cout <<
" [runnum] : integer run number (default: 0)\n\n";
42 double X = (Mom*Mom-2*mp*
mp)/(2*mp);
43 Mom =
sqrt(X*X-mp*mp);
47 TString pidalgo =
"PidAlgoEmcBayes;PidAlgoDrc;PidAlgoDisc;PidAlgoStt;PidAlgoMdtHardCuts";
48 if (fastsim) pidalgo =
"PidChargedProbability";
51 anadecay.ReplaceAll(
"pbp",
"pbarpSystem");
52 anadecay.ReplaceAll(
"pbp0",
"pbarpSystem0");
56 TDatabasePDG::Instance()->AddParticle(
"pbarpSystem",
"pbarpSystem",3,kFALSE,0.1,0,
"",88888);
57 TDatabasePDG::Instance()->AddParticle(
"pbarpSystem0",
"pbarpSystem0",3,kFALSE,0.1,0,
"",88880);
58 TDatabasePDG::Instance()->AddParticle(
"Z(3900)+",
"Z+",3.900,kFALSE,0.1,0,
"",90000);
59 TDatabasePDG::Instance()->AddParticle(
"Z(3900)-",
"Z-",3.900,kFALSE,0.1,0,
"",-90000);
62 TString OutFile = Fname(Fname.Last(
'/')+1,Fname.Length());
63 OutFile.ReplaceAll(
".root",
"_ana.root");
67 if (!InFile.EndsWith(
".root")) InFile+=
"_fast.root";
70 FairLogger::GetLogger()->SetLogToFile(kFALSE);
72 FairRunAna*
fRun =
new FairRunAna();
73 fRun->SetGenerateRunInfo(kFALSE);
74 fRun->SetInputFile(InFile);
75 fRun->SetOutputFile(OutFile);
87 TString triggercfg =
TString(gSystem->Getenv(
"VMCWORKDIR"))+
"/softrig/triggerlines.cfg";
88 if (fastsim) triggercfg =
TString(gSystem->Getenv(
"VMCWORKDIR"))+
"/softrig/triggerlines_fsim.cfg";
92 if (fastsim) stTask->SetFastSimDefaults();
93 else stTask->SetFullSimDefaults();
95 fRun->AddTask(stTask);
105 if (fastsim) anaparms+=
":algo="+pidalgo;
108 fRun->AddTask(scTask);
void quickana(TString Fname="", double Mom=0, TString anadecay="", int nevts=0, TString anaparms="", bool fastsim=false, bool runST=false, int run=0, int runmode=0)
friend F32vec4 sqrt(const F32vec4 &a)
void SetPidAlgo(TString algo)