FairRoot/PandaRoot
PndMasterPidTask.cxx
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndMasterPidTask source file -----
3 // ----- Created 01/02/16 by S. Spataro -----
4 // ----- Wrapper for pid tasks -----
5 // -------------------------------------------------------------------------
6 
7 
8 #include "PndMasterPidTask.h"
9 #include "PndMasterTask.h"
10 
11 #include "PndPidCorrelator.h"
12 #include "PndPidBremCorrector.h"
13 #include "PndMcCloner.h"
24 
30 // ----- Default constructor -------------------------------------------
32  PndMasterTask("Master Pid Task"), fOptions(options)
33 {
34 
35  // ----- Correlation ---------------------------------
37 
38  TString barrelbranchname="SttMvdGemGenTrack";
39  if (fOptions.Contains("nogem")||fOptions.Contains("gem0")) {
40  barrelbranchname="SttMvdGenTrack";
41  }
42  if (fOptions.Contains("filtered")) barrelbranchname+="_filtered";
43  if (fOptions.Contains("fakeonline")) barrelbranchname+="_fakeonline";
44  corr->SetBarrelTrackBranch(barrelbranchname);
45 
46  TString fwdbranchname="FtsIdealGenTrack";
47  if (fOptions.Contains("fakeonline")) fwdbranchname+="_fakeonline";
48  corr->SetForwardTrackBranch(fwdbranchname);
49 
50  if (fOptions.Contains("piddebug")) corr->SetDebugMode(kTRUE);
51  if (fOptions.Contains("pidfast")) corr->SetFast(kTRUE);
52  if (fOptions.Contains("pidnoswim")) corr->SetBackPropagate(kFALSE);
53 
54  fStandardTasks.push_back(corr);
55 
56  // ----- Bremsstrahlung Correction ----------------------
57  fStandardTasks.push_back(new PndPidBremCorrector());
58 
59  // ----- Classifiers ----------------------------------
61 
62  fStandardTasks.push_back(new PndPidMvdAssociatorTask());
64  fStandardTasks.push_back(new PndPidDrcAssociatorTask());
65 
66  if ( !fOptions.Contains("day1") && !fOptions.Contains("phase1") )
67  {
69  }
70 
71  fStandardTasks.push_back(new PndPidSttAssociatorTask());
75 
76  if ( !fOptions.Contains("day1") && !fOptions.Contains("phase1") )
77  {
79  }
80 
81  // ----- MC Cloner ------------------------------------
82  PndMcCloner *clone = NULL;
83  fStandardTasks.push_back(clone = new PndMcCloner());
84  // Option to clean the MCTrack TClonesArray from particles which were not interacting with sensitive detectors
85  clone->SetCleanMc();
86 
87  std::for_each(fStandardTasks.begin(), fStandardTasks.end(), [this](const FairTask* task){ Add((TTask*)task); } );
88 
89  SetVerbose(0);
90 
91 }
92 // -------------------------------------------------------------------------
93 
96 {
97  if (!pers) LOG(INFO) << "It makes no sense to have pid persistency switched OFF!" << FairLogger::endl;
98  if (!pers) LOG(INFO) << "Or, if you prefer... this functionality has not been implemented yet" << FairLogger::endl;
99 
100  return;
101 }
102 
103 // ----- Destructor ----------------------------------------------------
105 {
106 }
107 // -------------------------------------------------------------------------
108 
mychain Add("run.root")
PndMasterPidTask(TString options="")
Default constructor with options This string can be: "" -> default settings full setup "day1" -> Set...
PndPidCorrelator * corr
void SetVerbose(Int_t iVerbose=1)
Set the Verbosity to all the tasks.
void SetBarrelTrackBranch(TString branch)
void SetCleanMc(Bool_t opt=kTRUE)
Definition: PndMcCloner.h:33
virtual void SetPersistency(Bool_t pers=kTRUE)
Set the persistency of all the tasks.
Abstract class for all the master task list classes.
Definition: PndMasterTask.h:21
TString fOptions
Options parsed to the pid.
void SetDebugMode(Bool_t debug)
virtual ~PndMasterPidTask()
Destructor.
The default pid tasks.
std::vector< FairTask * > fStandardTasks
Definition: PndMasterTask.h:81
void SetBackPropagate(Bool_t opt=kTRUE)
ClassImp(PndAnaContFact)
void SetForwardTrackBranch(TString branch)
void SetFast(Bool_t fast)