KaliVeda
Toolkit for HIC analysis
KVINDRADSTConverter.h
1 
8 #ifndef KVDSTTreeConverter_h
9 #define KVDSTTreeConverter_h
10 
11 #include "KVReconstructedEvent.h"
12 #include <TSelector.h>
13 #include <TTreeReader.h>
14 #include <TTreeReaderValue.h>
15 #include <TTreeReaderArray.h>
16 #include "KVINDRA.h"
17 #include "run_index.h"
19 
20 
22 
26  bool camp1 = false;
27  bool camp2 = false;
28  bool camp4 = false;
31 
32 public :
34  TTree* fChain = 0;
35 
69 
70 
71  KVINDRADSTConverter(TTree* /*tree*/ = 0) { }
72  virtual ~KVINDRADSTConverter() { }
73  Int_t Version() const override
74  {
75  return 2;
76  }
77  void Begin(TTree* tree) override;
78  void SlaveBegin(TTree* tree) override;
79  void Init(TTree* tree) override;
80  Bool_t Notify() override;
81  Bool_t Process(Long64_t entry) override;
82  Int_t GetEntry(Long64_t entry, Int_t getall = 0) override
83  {
84  return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0;
85  }
86  void SetOption(const char* option) override
87  {
88  fOption = option;
89  }
90  void SetObject(TObject* obj) override
91  {
92  fObject = obj;
93  }
94  void SetInputList(TList* input) override
95  {
96  fInput = input;
97  }
98  TList* GetOutputList() const override
99  {
100  return fOutput;
101  }
102  void SlaveTerminate() override;
103  void Terminate() override;
104 
105  bool with_phoswich = true;
106  bool csi_fired(int i)
107  {
108  return std::abs(de3[i]) > 0 || csi_l[i] > 0 || csi_r[i] > 0;
109  }
110  bool si_fired(int i)
111  {
112  return std::abs(de2[i]) > 0 || si_gg[i] > 0 || si_pg[i] > 0;
113  }
114  bool ci_fired(int i)
115  {
116  return (icou[i] > 1 && std::abs(de1[i]) > 0) || ci_gg[i] > 0 || ci_pg[i] > 0;
117  }
118  bool phos_fired(int i)
119  {
120  return with_phoswich && icou[i] == 1 && (std::abs(de1[i]) > 0 || ci_gg[i] > 0 || ci_pg[i] > 0);
121  }
122  bool si75_fired(int i)
123  {
124  return icou[i] > 9 && (std::abs(de4[i]) > 0 || si75_gg[i] > 0 || si75_pg[i] > 0);
125  }
126  bool sili_fired(int i)
127  {
128  return icou[i] > 9 && (std::abs(de5[i]) > 0 || sili_gg[i] > 0 || sili_pg[i] > 0);
129  }
130  bool stopped_in_phos(int i)
131  {
132  return phos_fired(i);
133  }
134  bool stopped_in_csi(int i)
135  {
136  return csi_fired(i) && (icou[i] > 1 || !with_phoswich);
137  }
138  bool stopped_in_si(int i)
139  {
140  return si_fired(i) && !stopped_in_csi(i) && (icou[i] > 1 || !with_phoswich) && icou[i] < 10;
141  }
142  bool stopped_in_sili(int i)
143  {
144  return sili_fired(i) && !stopped_in_csi(i);
145  }
146  bool stopped_in_si75(int i)
147  {
148  return si75_fired(i) && !stopped_in_sili(i) && !stopped_in_csi(i);
149  }
150  bool stopped_in_ci(int i)
151  {
152  return ci_fired(i) && !stopped_in_csi(i) && !stopped_in_si(i) && !stopped_in_si75(i) && !stopped_in_sili(i);
153  }
155  {
156  return gIndra->GetDetectorByType(icou[i], imod[i], CsI_R);
157  }
159  {
160  return gIndra->GetDetectorByType(icou[i], imod[i], Si_PG);
161  }
163  {
164  auto ci = gIndra->GetDetectorByType(icou[i], imod[i], ChIo_PG);
165  if (!ci) {
167  ci = get_csi(i)->GetChIo();
168  }
169  return ci;
170  }
172  {
173  return gIndra->GetDetectorByType(icou[i], imod[i], Phos_R);
174  }
176  {
177  return gIndra->GetDetectorByType(icou[i], imod[i], Si75_GG);
178  }
180  {
181  return gIndra->GetDetectorByType(icou[i], imod[i], SiLi_GG);
182  }
183 
185 
187 };
188 
189 #endif
190 
191 #ifdef KVDSTTreeConverter_cxx
193 {
200 
202  total_events = tree->GetEntries();
203 }
204 
206 {
212 
213  return kTRUE;
214 }
215 
216 
217 #endif // #ifdef KVDSTTreeConverter_cxx
int Int_t
bool Bool_t
constexpr Bool_t kTRUE
#define ClassDefOverride(name, id)
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Headers needed by this particular selector.
TTreeReaderArray< Float_t > si_gg
TTreeReaderArray< Int_t > z
TTreeReaderArray< Float_t > si75_gg
TTreeReaderArray< Int_t > mt
TTreeReaderArray< Float_t > sili_mt
TTreeReaderArray< Float_t > de1
TTreeReaderArray< Float_t > z_indra
KVINDRADetector * get_sili(int i)
TTreeReaderValue< Int_t > npart_traite
pointer to the analyzed TTree or TChain
TTreeReaderArray< Float_t > a_indra
KVINDRADetector * get_ci(int i)
void SlaveBegin(TTree *tree) override
Bool_t Notify() override
TTreeReaderArray< Float_t > de5
void SetOption(const char *option) override
TTreeReaderArray< Float_t > de3
TTreeReaderArray< Float_t > de4
TTreeReaderArray< Float_t > ci_gg
TTreeReaderArray< Float_t > si_pg
TTreeReaderArray< Int_t > a
TTreeReaderArray< Float_t > csi_r
KVINDRADetector * get_phos(int i)
KVINDRADetector * get_si75(int i)
Bool_t Process(Long64_t entry) override
TTreeReaderArray< Float_t > csi_l
TTreeReaderArray< Float_t > sili_pg
TTreeReaderArray< Float_t > si75_pg
TTreeReaderArray< Float_t > ci_pg
TTreeReaderArray< Float_t > si_mt
Int_t Version() const override
TTreeReaderArray< Int_t > icou
TTreeReaderArray< Float_t > si75_mt
Int_t GetEntry(Long64_t entry, Int_t getall=0) override
KVINDRADetector * get_csi(int i)
TTreeReaderArray< Float_t > de_mylar
TTreeReaderArray< Int_t > imod
KVReconstructedEvent * the_event
void SetObject(TObject *obj) override
TTreeReaderArray< Float_t > csi_mt
void SetInputList(TList *input) override
TTreeReaderArray< Int_t > idcode
TTreeReaderArray< Float_t > ener
TTreeReader fReader
the tree reader
void Init(TTree *tree) override
TTreeReaderArray< Float_t > sili_gg
void SlaveTerminate() override
TList * GetOutputList() const override
TTreeReaderArray< Float_t > ci_mt
KVINDRADetector * get_si(int i)
TTreeReaderArray< Float_t > de2
TTreeReaderArray< Int_t > ecode
void Begin(TTree *tree) override
Base class for detectors of INDRA array.
KVINDRADetector * GetChIo() const
virtual KVINDRADetector * GetDetectorByType(UInt_t cou, UInt_t mod, UInt_t type) const
Definition: KVINDRA.cpp:240
Event containing KVReconstructedNucleus nuclei reconstructed from hits in detectors.
TList * fInput
TString fOption
TSelectorList * fOutput
TObject * fObject
void SetTree(const char *keyname, TDirectory *dir, TEntryList *entryList=nullptr)
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
virtual TTree * GetTree() const
Specifies a runfile according to run number and file index ,.
Definition: run_index.h:33
long long Long64_t