]>
Commit | Line | Data |
---|---|---|
06f630bb | 1 | ////////////////////////////////////////////////////////// |
2 | // This class has been automatically generated on | |
3 | // Thu Jun 9 22:36:19 2011 by ROOT version 5.28/00d | |
4 | // from TTree tree_MultiDie_CENT1/single | |
5 | // found on file: Resultstakuv2c123456AnalysisResults_t.root | |
6 | ////////////////////////////////////////////////////////// | |
7 | ||
8 | #ifndef ana_sgl_h | |
9 | #define ana_sgl_h | |
10 | ||
11 | #include <iostream> | |
12 | #include <TROOT.h> | |
13 | #include <TChain.h> | |
14 | #include <TFile.h> | |
15 | #include <TH1.h> | |
16 | #include <TH2.h> | |
17 | #include <TDirectory.h> | |
18 | #include <vector> | |
19 | #include <deque> | |
20 | #include <cstdlib> | |
21 | #include <TMath.h> | |
22 | ||
23 | using namespace std; | |
24 | ||
25 | ||
26 | class etrk; | |
27 | ||
28 | struct etrk{ | |
29 | etrk(double Cent=0, double PXv=0, double PYv=0, double PZv=0, | |
30 | double Xv=0, double Yv=0, double Zv=0, | |
31 | double Px=0, double Py=0, double Pz=0, double Pt=0, | |
32 | double Eta=0, double Phi=0, double Theta=0, double Tpc=0, double Beta=0, | |
33 | double E=0, double dPhi=0, double dEta=0, | |
34 | double Ntpc_ele1=0,double Ntpc_pio1=0,double Ntpc_kao1=0, double Ntpc_pro1=0, | |
35 | double Ntof_ele1=0,double Ntof_pio1=0,double Ntof_kao1=0, double Ntof_pro1=0, | |
36 | double Its=0, double Nits=0, double Ntpc=0, double Dcaxy=0, double Dcaz=0) | |
37 | : | |
38 | cent(Cent), pxv(PXv), pyv(PYv), pzv(PZv), | |
39 | xv(Xv), yv(Yv), zv(Zv), | |
40 | px(Px), py(Py), pz(Pz), pt(Pt), | |
41 | eta(Eta), phi(Phi), theta(Theta), tpc(Tpc), beta(Beta), | |
42 | e(E), dphi(dPhi), deta(dEta), | |
43 | ntpc_ele(Ntpc_ele1), ntpc_pio(Ntpc_pio1), ntpc_kao(Ntpc_kao1), ntpc_pro(Ntpc_pro1), | |
44 | ntof_ele(Ntof_ele1), ntof_pio(Ntof_pio1), ntof_kao(Ntof_kao1), ntof_pro(Ntof_pro1), | |
45 | its(Its), nits(Nits), ntpc(Ntpc), dcaxy(Dcaxy), dcaz(Dcaz) | |
46 | { | |
47 | conv_flag = 1; | |
48 | ghost_flag = 1; | |
49 | } | |
50 | ||
51 | double E(void){TMath::Sqrt(me*me+px*px+py*py+pz*pz);} | |
52 | double p(void){TMath::Sqrt(px*px+py*py+pz*pz);} | |
53 | ||
54 | private: | |
55 | static const float me=0.000511; | |
56 | public: | |
57 | double cent; | |
58 | double pxv; | |
59 | double pyv; | |
60 | double pzv; | |
61 | double xv; | |
62 | double yv; | |
63 | double zv; | |
64 | double px; | |
65 | double py; | |
66 | double pz; | |
67 | double pt; | |
68 | double eta; | |
69 | double phi; | |
70 | double theta; | |
71 | double tpc; | |
72 | double beta; | |
73 | double e; | |
74 | double dphi; | |
75 | double deta; | |
76 | double ntpc_ele; | |
77 | double ntpc_pio; | |
78 | double ntpc_kao; | |
79 | double ntpc_pro; | |
80 | double ntof_ele; | |
81 | double ntof_pio; | |
82 | double ntof_kao; | |
83 | double ntof_pro; | |
84 | double its; | |
85 | double nits; | |
86 | double ntpc; | |
87 | double dcaxy; | |
88 | double dcaz; | |
89 | int conv_flag; | |
90 | int ghost_flag; | |
91 | }; | |
92 | ||
93 | ||
94 | class ana_sgl { | |
95 | public : | |
96 | TTree *fChain; //!pointer to the analyzed TTree or TChain | |
97 | Int_t fCurrent; //!current Tree number in a TChain | |
98 | ||
99 | // Declaration of leaf types | |
100 | Int_t kNEvent; | |
101 | Double_t kMag; | |
102 | TObjArray *fkTriggerInfo; | |
103 | Double_t kTriggerMask; | |
104 | Int_t kTriggerCent; | |
105 | Double_t fkNCut; | |
106 | Double_t fkRunNumber; | |
107 | Double_t fkCentrality; | |
108 | Double_t fkXvPrim; | |
109 | Double_t fkYvPrim; | |
110 | Double_t fkZvPrim; | |
111 | Double_t fkXRes; | |
112 | Double_t fkYRes; | |
113 | Double_t fkZRes; | |
114 | Double_t fkNTrk; | |
115 | Double_t fkTracks; | |
116 | Double_t fkNacc; | |
117 | Double_t fkNaccTrcklts; | |
118 | Double_t fkNch; | |
119 | Double_t fkZDCN1E; | |
120 | Double_t fkZDCP1E; | |
121 | Double_t fkZDCN2E; | |
122 | Double_t fkZDCP2E; | |
123 | Double_t fkV0A; | |
124 | Double_t fkV0C; | |
125 | Int_t fkNPar; | |
126 | Double_t kPx[200]; //[fkNPar] | |
127 | Double_t kPy[200]; //[fkNPar] | |
128 | Double_t kPz[200]; //[fkNPar] | |
129 | Double_t kPt[200]; //[fkNPar] | |
130 | Double_t kP[200]; //[fkNPar] | |
131 | Double_t kXv[200]; //[fkNPar] | |
132 | Double_t kYv[200]; //[fkNPar] | |
133 | Double_t kZv[200]; //[fkNPar] | |
134 | Double_t kOneOverPt[200]; //[fkNPar] | |
135 | Double_t kPhi[200]; //[fkNPar] | |
136 | Double_t kTheta[200]; //[fkNPar] | |
137 | Double_t kEta[200]; //[fkNPar] | |
138 | Double_t kY[200]; //[fkNPar] | |
139 | Double_t kE[200]; //[fkNPar] | |
140 | Double_t kM[200]; //[fkNPar] | |
141 | Double_t kCharge[200]; //[fkNPar] | |
142 | Double_t kNclsITS[200]; //[fkNPar] | |
143 | Double_t kNclsTPC[200]; //[fkNPar] | |
144 | Double_t kNclsTPCiter1[200]; //[fkNPar] | |
145 | Double_t kNFclsTPC[200]; //[fkNPar] | |
146 | Double_t kNFclsTPCr[200]; //[fkNPar] | |
147 | Double_t kNFclsTPCrFrac[200]; //[fkNPar] | |
148 | Double_t kTPCsignalN[200]; //[fkNPar] | |
149 | Double_t kTPCsignalNfrac[200]; //[fkNPar] | |
150 | Double_t kTPCchi2Cl[200]; //[fkNPar] | |
151 | Double_t kTrackStatus[200]; //[fkNPar] | |
152 | Double_t kNclsTRD[200]; //[fkNPar] | |
153 | Double_t kTRDntracklets[200]; //[fkNPar] | |
154 | Double_t kTRDpidQuality[200]; //[fkNPar] | |
155 | Double_t kTRDprobEle[200]; //[fkNPar] | |
156 | Double_t kTRDprobPio[200]; //[fkNPar] | |
157 | Double_t kImpactParXY[200]; //[fkNPar] | |
158 | Double_t kImpactParZ[200]; //[fkNPar] | |
159 | Double_t kTrackLength[200]; //[fkNPar] | |
160 | Double_t kPdgCode[200]; //[fkNPar] | |
161 | Double_t kPdgCodeMother[200]; //[fkNPar] | |
162 | Double_t kPdgCodeGrandMother[200]; //[fkNPar] | |
163 | Double_t kNumberOfDaughters[200]; //[fkNPar] | |
164 | Double_t kHaveSameMother[200]; //[fkNPar] | |
165 | Double_t kIsJpsiPrimary[200]; //[fkNPar] | |
166 | Double_t kITSsignal[200]; //[fkNPar] | |
167 | Double_t kITSsignalSSD1[200]; //[fkNPar] | |
168 | Double_t kITSsignalSSD2[200]; //[fkNPar] | |
169 | Double_t kITSsignalSDD1[200]; //[fkNPar] | |
170 | Double_t kITSsignalSDD2[200]; //[fkNPar] | |
171 | Double_t kITSclusterMap[200]; //[fkNPar] | |
172 | Double_t kITSnSigmaEle[200]; //[fkNPar] | |
173 | Double_t kITSnSigmaPio[200]; //[fkNPar] | |
174 | Double_t kITSnSigmaMuo[200]; //[fkNPar] | |
175 | Double_t kITSnSigmaKao[200]; //[fkNPar] | |
176 | Double_t kITSnSigmaPro[200]; //[fkNPar] | |
177 | Double_t kPIn[200]; //[fkNPar] | |
178 | Double_t kTPCsignal[200]; //[fkNPar] | |
179 | Double_t kTOFsignal[200]; //[fkNPar] | |
180 | Double_t kTOFbeta[200]; //[fkNPar] | |
181 | Double_t kTPCnSigmaEle[200]; //[fkNPar] | |
182 | Double_t kTPCnSigmaPio[200]; //[fkNPar] | |
183 | Double_t kTPCnSigmaMuo[200]; //[fkNPar] | |
184 | Double_t kTPCnSigmaKao[200]; //[fkNPar] | |
185 | Double_t kTPCnSigmaPro[200]; //[fkNPar] | |
186 | Double_t kTOFnSigmaEle[200]; //[fkNPar] | |
187 | Double_t kTOFnSigmaPio[200]; //[fkNPar] | |
188 | Double_t kTOFnSigmaMuo[200]; //[fkNPar] | |
189 | Double_t kTOFnSigmaKao[200]; //[fkNPar] | |
190 | Double_t kTOFnSigmaPro[200]; //[fkNPar] | |
191 | Double_t kKinkIndex0[200]; //[fkNPar] | |
192 | Double_t kChi2NDF[200]; //[fkNPar] | |
193 | Double_t kDecayLength[200]; //[fkNPar] | |
194 | Double_t kR[200]; //[fkNPar] | |
195 | Double_t kOpeningAngle[200]; //[fkNPar] | |
196 | Double_t kThetaHE[200]; //[fkNPar] | |
197 | Double_t kPhiHE[200]; //[fkNPar] | |
198 | Double_t kThetaCS[200]; //[fkNPar] | |
199 | Double_t kPhiCS[200]; //[fkNPar] | |
200 | Double_t kLegDist[200]; //[fkNPar] | |
201 | Double_t kLegDistXY[200]; //[fkNPar] | |
202 | Double_t kDeltaEta[200]; //[fkNPar] | |
203 | Double_t kDeltaPhi[200]; //[fkNPar] | |
204 | Double_t kMerr[200]; //[fkNPar] | |
205 | Double_t kDCA[200]; //[fkNPar] | |
206 | Double_t kPairType[200]; //[fkNPar] | |
207 | Double_t kPseudoProperTime[200]; //[fkNPar] | |
208 | Double_t kXvPrim[200]; //[fkNPar] | |
209 | Double_t kYvPrim[200]; //[fkNPar] | |
210 | Double_t kZvPrim[200]; //[fkNPar] | |
211 | Double_t kXRes[200]; //[fkNPar] | |
212 | Double_t kYRes[200]; //[fkNPar] | |
213 | Double_t kZRes[200]; //[fkNPar] | |
214 | Double_t kNTrk[200]; //[fkNPar] | |
215 | Double_t kTracks[200]; //[fkNPar] | |
216 | Double_t kNacc[200]; //[fkNPar] | |
217 | Double_t kNaccTrcklts[200]; //[fkNPar] | |
218 | Double_t kNch[200]; //[fkNPar] | |
219 | Double_t kCentrality[200]; //[fkNPar] | |
220 | Double_t kNevents[200]; //[fkNPar] | |
221 | ||
222 | // List of branches | |
223 | TBranch *b_kNEvent; //! | |
224 | TBranch *b_kMag; //! | |
225 | TBranch *b_fkTriggerInfo; //! | |
226 | TBranch *b_kTriggerMask; //! | |
227 | TBranch *b_kTriggerCent; //! | |
228 | TBranch *b_fkNCut; //! | |
229 | TBranch *b_fkRunNumber; //! | |
230 | TBranch *b_fkCentrality; //! | |
231 | TBranch *b_fkXvPrim; //! | |
232 | TBranch *b_fkYvPrim; //! | |
233 | TBranch *b_fkZvPrim; //! | |
234 | TBranch *b_fkXRes; //! | |
235 | TBranch *b_fkYRes; //! | |
236 | TBranch *b_fkZRes; //! | |
237 | TBranch *b_fkNTrk; //! | |
238 | TBranch *b_fkTracks; //! | |
239 | TBranch *b_fkNacc; //! | |
240 | TBranch *b_fkNaccTrcklts; //! | |
241 | TBranch *b_fkNch; //! | |
242 | TBranch *b_fkZDCN1E; //! | |
243 | TBranch *b_fkZDCP1E; //! | |
244 | TBranch *b_fkZDCN2E; //! | |
245 | TBranch *b_fkZDCP2E; //! | |
246 | TBranch *b_fkV0A; //! | |
247 | TBranch *b_fkV0C; //! | |
248 | TBranch *b_fkNPar; //! | |
249 | TBranch *b_kPx; //! | |
250 | TBranch *b_kPy; //! | |
251 | TBranch *b_kPz; //! | |
252 | TBranch *b_kPt; //! | |
253 | TBranch *b_kP; //! | |
254 | TBranch *b_kXv; //! | |
255 | TBranch *b_kYv; //! | |
256 | TBranch *b_kZv; //! | |
257 | TBranch *b_kOneOverPt; //! | |
258 | TBranch *b_kPhi; //! | |
259 | TBranch *b_kTheta; //! | |
260 | TBranch *b_kEta; //! | |
261 | TBranch *b_kY; //! | |
262 | TBranch *b_kE; //! | |
263 | TBranch *b_kM; //! | |
264 | TBranch *b_kCharge; //! | |
265 | TBranch *b_kNclsITS; //! | |
266 | TBranch *b_kNclsTPC; //! | |
267 | TBranch *b_kNclsTPCiter1; //! | |
268 | TBranch *b_kNFclsTPC; //! | |
269 | TBranch *b_kNFclsTPCr; //! | |
270 | TBranch *b_kNFclsTPCrFrac; //! | |
271 | TBranch *b_kTPCsignalN; //! | |
272 | TBranch *b_kTPCsignalNfrac; //! | |
273 | TBranch *b_kTPCchi2Cl; //! | |
274 | TBranch *b_kTrackStatus; //! | |
275 | TBranch *b_kNclsTRD; //! | |
276 | TBranch *b_kTRDntracklets; //! | |
277 | TBranch *b_kTRDpidQuality; //! | |
278 | TBranch *b_kTRDprobEle; //! | |
279 | TBranch *b_kTRDprobPio; //! | |
280 | TBranch *b_kImpactParXY; //! | |
281 | TBranch *b_kImpactParZ; //! | |
282 | TBranch *b_kTrackLength; //! | |
283 | TBranch *b_kPdgCode; //! | |
284 | TBranch *b_kPdgCodeMother; //! | |
285 | TBranch *b_kPdgCodeGrandMother; //! | |
286 | TBranch *b_kNumberOfDaughters; //! | |
287 | TBranch *b_kHaveSameMother; //! | |
288 | TBranch *b_kIsJpsiPrimary; //! | |
289 | TBranch *b_kITSsignal; //! | |
290 | TBranch *b_kITSsignalSSD1; //! | |
291 | TBranch *b_kITSsignalSSD2; //! | |
292 | TBranch *b_kITSsignalSDD1; //! | |
293 | TBranch *b_kITSsignalSDD2; //! | |
294 | TBranch *b_kITSclusterMap; //! | |
295 | TBranch *b_kITSnSigmaEle; //! | |
296 | TBranch *b_kITSnSigmaPio; //! | |
297 | TBranch *b_kITSnSigmaMuo; //! | |
298 | TBranch *b_kITSnSigmaKao; //! | |
299 | TBranch *b_kITSnSigmaPro; //! | |
300 | TBranch *b_kPIn; //! | |
301 | TBranch *b_kTPCsignal; //! | |
302 | TBranch *b_kTOFsignal; //! | |
303 | TBranch *b_kTOFbeta; //! | |
304 | TBranch *b_kTPCnSigmaEle; //! | |
305 | TBranch *b_kTPCnSigmaPio; //! | |
306 | TBranch *b_kTPCnSigmaMuo; //! | |
307 | TBranch *b_kTPCnSigmaKao; //! | |
308 | TBranch *b_kTPCnSigmaPro; //! | |
309 | TBranch *b_kTOFnSigmaEle; //! | |
310 | TBranch *b_kTOFnSigmaPio; //! | |
311 | TBranch *b_kTOFnSigmaMuo; //! | |
312 | TBranch *b_kTOFnSigmaKao; //! | |
313 | TBranch *b_kTOFnSigmaPro; //! | |
314 | TBranch *b_kKinkIndex0; //! | |
315 | TBranch *b_kChi2NDF; //! | |
316 | TBranch *b_kDecayLength; //! | |
317 | TBranch *b_kR; //! | |
318 | TBranch *b_kOpeningAngle; //! | |
319 | TBranch *b_kThetaHE; //! | |
320 | TBranch *b_kPhiHE; //! | |
321 | TBranch *b_kThetaCS; //! | |
322 | TBranch *b_kPhiCS; //! | |
323 | TBranch *b_kLegDist; //! | |
324 | TBranch *b_kLegDistXY; //! | |
325 | TBranch *b_kDeltaEta; //! | |
326 | TBranch *b_kDeltaPhi; //! | |
327 | TBranch *b_kMerr; //! | |
328 | TBranch *b_kDCA; //! | |
329 | TBranch *b_kPairType; //! | |
330 | TBranch *b_kPseudoProperTime; //! | |
331 | TBranch *b_kXvPrim; //! | |
332 | TBranch *b_kYvPrim; //! | |
333 | TBranch *b_kZvPrim; //! | |
334 | TBranch *b_kXRes; //! | |
335 | TBranch *b_kYRes; //! | |
336 | TBranch *b_kZRes; //! | |
337 | TBranch *b_kNTrk; //! | |
338 | TBranch *b_kTracks; //! | |
339 | TBranch *b_kNacc; //! | |
340 | TBranch *b_kNaccTrcklts; //! | |
341 | TBranch *b_kNch; //! | |
342 | TBranch *b_kCentrality; //! | |
343 | TBranch *b_kNevents; //! | |
344 | ||
345 | ana_sgl(TTree *tree=0); | |
346 | virtual ~ana_sgl(); | |
347 | virtual Int_t Cut(Long64_t entry); | |
348 | virtual Int_t GetEntry(Long64_t entry); | |
349 | virtual Long64_t LoadTree(Long64_t entry); | |
350 | virtual void Init(TTree *tree); | |
351 | virtual void Loop(); | |
352 | virtual Bool_t Notify(); | |
353 | virtual void Show(Long64_t entry = -1); | |
354 | ||
355 | ||
356 | //////////my own function///////////////// | |
357 | ||
358 | TH2D *hdedx_pt; | |
359 | TH2D *hdedx_tof_elec_pt; | |
360 | TH2D *hdedx_tof_all_pt; | |
361 | TH2D *hdedx_tof_elec_emc_pt; | |
362 | TH2D *hdedx_tof_all_emc_pt; | |
363 | TH2D *hdedx_emc_pt; | |
364 | ||
365 | TH2D *hbetatof_pt; | |
366 | TH2D *hbetatof_tof_elec_pt; | |
367 | TH2D *hbetatof_tof_all_pt; | |
368 | TH2D *hbetatof_tof_elec_emc_pt; | |
369 | TH2D *hbetatof_tof_all_emc_pt; | |
370 | TH2D *hbetatof_emc_pt; | |
371 | ||
372 | TH1D *hdedx[1000]; | |
373 | TH1D *hdedx_tof_elec[1000]; | |
374 | TH1D *hdedx_tof_all[1000]; | |
375 | TH1D *hdedx_tof_elec_emc[1000]; | |
376 | TH1D *hdedx_tof_all_emc[1000]; | |
377 | TH1D *hdedx_emc[1000]; | |
378 | ||
379 | ||
380 | TH1D *fEventStat; //! Histogram with event statistics | |
381 | TH1D *fEvent; | |
382 | TH2D *fdEdXvsPt; | |
383 | TH2D *fdEdXnSigmaElecvsPt; | |
384 | TH2D *fTOFbetavsPt; | |
385 | TH2D *fTOFnSigmaElecvsPt; | |
386 | TH1F *hCentrality; | |
387 | TH2F *hV0AC; | |
388 | TH2F *hV0AC_Ntrk; | |
389 | TH2F *hV0AC_NaccTrcklts; | |
390 | ||
391 | ||
392 | ||
393 | TH2D *fdEdXvsPtWithCut; | |
394 | TH1D *fPtElec[2]; | |
395 | ||
396 | TH2D *fNelc_pos_cent[10]; | |
397 | TH1D *fNelc_all_cent[10]; | |
398 | ||
399 | TH2D *fNelc_pos; | |
400 | TH1D *fNelc_all; | |
401 | TH2D *fNelc_all_pT; | |
402 | ||
403 | ||
404 | //// pair tree | |
405 | TH2D *hmasspt[7][11]; | |
406 | TH2D *hmasspt_weight[7][11]; | |
407 | ||
408 | TFile *fout; | |
409 | Float_t fBinWidth ; | |
410 | Int_t nHistos ; | |
411 | ||
412 | void ana_init(char *filename); | |
413 | void ana_event(int ientry, int jentry); | |
414 | void ana_end(void); | |
415 | void loop_a_file(char *filename); | |
416 | void ana_set_simflag(bool a) { simflag = a;} | |
417 | ||
418 | bool kTOFcut(int itrk); | |
419 | bool GlobalTrackcut(int itrk); | |
420 | //bool PairTrackcut(int itrk); | |
421 | void fill_histograms(int itrk); | |
422 | void fill_to_tree_variables(void); | |
423 | void fill_to_tree_track_variables(int itrk); | |
424 | void add_histograms(TFile *fin); | |
425 | void select_trigger(int trig){ sel_trigger = trig ; } | |
426 | ||
427 | ||
428 | //// cut function | |
429 | void set_tpc_dedx_cuts(double low, double high){ | |
430 | d_tpc_dedx_low = low; | |
431 | d_tpc_dedx_high = high; | |
432 | }; | |
433 | void set_tof_cuts(double low, double high){ | |
434 | d_flag_tof_cut = true; | |
435 | d_tof_low = low; | |
436 | d_tof_high = high; | |
437 | }; | |
438 | ||
439 | void set_veto_for_kaon(double low, double high){ | |
440 | d_flag_kaon_veto = true; | |
441 | d_dedx_kaon_veto_low = low; | |
442 | d_dedx_kaon_veto_high = high; | |
443 | } | |
444 | ||
445 | void set_veto_for_proton(double low, double high){ | |
446 | d_flag_proton_veto = true; | |
447 | d_dedx_proton_veto_low = low; | |
448 | d_dedx_proton_veto_high = high; | |
449 | } | |
450 | ||
451 | void enable_pair_emc_cut(double low, double high){ | |
452 | d_flag_emc_cut = true; | |
453 | d_emc_low = low; | |
454 | d_emc_high = high; | |
455 | }; | |
456 | ||
457 | void enable_pair_phiv_cut(double low){ | |
458 | d_flag_phiv = true; | |
459 | d_phiv_cut = low; | |
460 | }; | |
461 | ||
462 | void enable_pait_pt_cut(double low, double high){ | |
463 | d_flag_pt_cut = true; | |
464 | d_pt_cut_low = low; | |
465 | d_pt_cut_high = high; | |
466 | }; | |
467 | ||
468 | void print_cuts(void); | |
469 | ||
470 | //// private functions | |
471 | ||
472 | void calc_pair(vector<etrk> e1, vector<etrk> e2); | |
473 | void randomize_pool(vector<etrk> e1, vector<etrk> e2); | |
474 | //void fill_pair(etrk *e1, etrk *e2, int type); | |
475 | void fill_pair(vector<etrk>::iterator e1, vector<etrk>::iterator e2, int type); | |
476 | bool PairTrackcut(vector<etrk>::iterator e1, vector<etrk>::iterator e2); | |
477 | bool reject_conversion(bool val){d_conv_flag = val;} | |
478 | void check_conversion_pairs(vector<etrk> &e1, vector<etrk> &e2); | |
479 | void check_ghost_pairs(vector<etrk> &e1); | |
480 | void calc_vars(vector<etrk>::iterator e1, vector<etrk>::iterator e2, double &mass, double &phiv, double &px, double &py, double&pz, | |
481 | double &pt, double &e, double &phi, double &eta, double &cos, double &psi); | |
482 | bool pair_cut(void); | |
483 | ||
484 | TTree *d_tree; | |
485 | TTree *d_ntpair; | |
486 | bool simflag; | |
487 | int sel_trigger; | |
488 | ||
489 | private: | |
490 | bool d_flag_tof_cut; | |
491 | bool d_flag_emc_cut; | |
492 | bool d_flag_phiv; | |
493 | bool d_flag_pt_cut; | |
494 | bool d_flag_kaon_veto; | |
495 | bool d_flag_proton_veto; | |
496 | double d_tpc_dedx_low; | |
497 | double d_tpc_dedx_high; | |
498 | double d_tof_low; | |
499 | double d_tof_high; | |
500 | double d_emc_low; | |
501 | double d_emc_high; | |
502 | double d_phiv_cut; | |
503 | double d_pt_cut_low ; | |
504 | double d_pt_cut_high ; | |
505 | double d_dedx_kaon_veto_low; | |
506 | double d_dedx_kaon_veto_high; | |
507 | double d_dedx_proton_veto_low; | |
508 | double d_dedx_proton_veto_high; | |
509 | ||
510 | bool magnetic_field_mm ; | |
511 | bool d_conv_flag; | |
512 | Int_t d_evt; | |
513 | Double_t d_cent; | |
514 | Double_t d_ntrk; | |
515 | Double_t d_xvprim; | |
516 | Double_t d_yvprim; | |
517 | Double_t d_zvprim; | |
518 | Double_t d_nacctrklets; | |
519 | Double_t d_xres; | |
520 | Double_t d_yres; | |
521 | Double_t d_zres; | |
522 | Int_t d_nelc; | |
523 | Double_t d_px[100]; | |
524 | Double_t d_py[100]; | |
525 | Double_t d_pz[100]; | |
526 | Double_t d_p[100]; | |
527 | Double_t d_pt[100]; | |
528 | Double_t d_xv[100]; | |
529 | Double_t d_yv[100]; | |
530 | Double_t d_zv[100]; | |
531 | Double_t d_phi[100]; | |
532 | Double_t d_theta[100]; | |
533 | Double_t d_eta[100]; | |
534 | Double_t d_c[100]; | |
535 | Double_t d_nclusITS[100]; | |
536 | Double_t d_nclusTPC[100]; | |
537 | Double_t d_nclusTPCiter[100]; | |
538 | Double_t d_nfclusTPC[100]; | |
539 | Double_t d_nfclusTPCr[100]; | |
540 | Double_t d_nfclusTPCrFrac[100]; | |
541 | Double_t d_TPCsignalN[100]; | |
542 | Double_t d_TPCsignalNfrac[100]; | |
543 | Double_t d_TPCchi2cl[100]; | |
544 | Double_t d_trkstat[100]; | |
545 | Double_t d_nclsTRD[100]; | |
546 | Double_t d_TRDntracklets[100]; | |
547 | Double_t d_TRDpidquality[100]; | |
548 | Double_t d_TRDprobEle[100]; | |
549 | Double_t d_TRDprobPio[100]; | |
550 | Double_t d_impactXY[100]; | |
551 | Double_t d_impactZ[100]; | |
552 | Double_t d_tracklength[100]; | |
553 | Double_t d_ITSsignal[100]; | |
554 | Double_t d_ITSnsigmaEle[100]; | |
555 | Double_t d_ITSnsigmaPio[100]; | |
556 | Double_t d_ITSnsigmaMuo[100]; | |
557 | Double_t d_ITSnsigmaKao[100]; | |
558 | Double_t d_ITSnsigmaPro[100]; | |
559 | Double_t d_PIn[100]; | |
560 | Double_t d_TPCsignal[100]; | |
561 | Double_t d_TOFsignal[100]; | |
562 | Double_t d_TOFbeta[100]; | |
563 | Double_t d_TPCnSigmaEle[100]; | |
564 | Double_t d_TPCnSigmaPio[100]; | |
565 | Double_t d_TPCnSigmaMuo[100]; | |
566 | Double_t d_TPCnSigmaKao[100]; | |
567 | Double_t d_TPCnSigmaPro[100]; | |
568 | Double_t d_TOFnSigmaEle[100]; | |
569 | Double_t d_TOFnSigmaPio[100]; | |
570 | Double_t d_TOFnSigmaMuo[100]; | |
571 | Double_t d_TOFnSigmaKao[100]; | |
572 | Double_t d_TOFnSigmaPro[100]; | |
573 | ||
574 | Double_t d_chi2ndf[100]; | |
575 | Double_t d_E[100]; | |
576 | Double_t d_dphi[100]; | |
577 | Double_t d_deta[100]; | |
578 | ||
579 | //////// pair variable | |
580 | Double_t d_run; | |
581 | Int_t d_event; | |
582 | Double_t d_centrality; | |
583 | Double_t d_prim_xv; | |
584 | Double_t d_prim_yv; | |
585 | Double_t d_prim_zv; | |
586 | Double_t d_mass; | |
587 | Double_t d_pxpair; | |
588 | Double_t d_pypair; | |
589 | Double_t d_pzpair; | |
590 | Double_t d_ptpair; | |
591 | Double_t d_epair; | |
592 | Double_t d_etapair; | |
593 | Double_t d_phipair; | |
594 | Double_t d_cos; | |
595 | Double_t d_phiv; | |
596 | Double_t d_psi; | |
597 | Int_t d_pairtype; | |
598 | ||
599 | ///////////////////////// | |
600 | Double_t d_cent1; | |
601 | Double_t d_xv1; | |
602 | Double_t d_yv1; | |
603 | Double_t d_zv1; | |
604 | Double_t d_px1; | |
605 | Double_t d_py1; | |
606 | Double_t d_pz1; | |
607 | Double_t d_pt1; | |
608 | Double_t d_eta1; | |
609 | Double_t d_phi1; | |
610 | Double_t d_theta1; | |
611 | Double_t d_tpc1; | |
612 | Double_t d_ntpc_ele1; | |
613 | Double_t d_ntpc_pio1; | |
614 | Double_t d_ntpc_kao1; | |
615 | Double_t d_ntpc_pro1; | |
616 | Double_t d_beta1; | |
617 | Double_t d_ntof_ele1; | |
618 | Double_t d_ntof_pio1; | |
619 | Double_t d_ntof_kao1; | |
620 | Double_t d_ntof_pro1; | |
621 | Double_t d_its1; | |
622 | Double_t d_nits1; | |
623 | Double_t d_ntpc1; | |
624 | Double_t d_e1; | |
625 | Double_t d_dphi1; | |
626 | Double_t d_deta1; | |
627 | Double_t d_dcaxy1; | |
628 | Double_t d_dcaz1; | |
629 | Int_t d_conv1; | |
630 | ||
631 | Double_t d_cent2; | |
632 | Double_t d_xv2; | |
633 | Double_t d_yv2; | |
634 | Double_t d_zv2; | |
635 | Double_t d_px2; | |
636 | Double_t d_py2; | |
637 | Double_t d_pz2; | |
638 | Double_t d_pt2; | |
639 | Double_t d_eta2; | |
640 | Double_t d_phi2; | |
641 | Double_t d_theta2; | |
642 | Double_t d_tpc2; | |
643 | Double_t d_ntpc_ele2; | |
644 | Double_t d_ntpc_pio2; | |
645 | Double_t d_ntpc_kao2; | |
646 | Double_t d_ntpc_pro2; | |
647 | Double_t d_beta2; | |
648 | Double_t d_ntof_ele2; | |
649 | Double_t d_ntof_pio2; | |
650 | Double_t d_ntof_kao2; | |
651 | Double_t d_ntof_pro2; | |
652 | Double_t d_its2; | |
653 | Double_t d_nits2; | |
654 | Double_t d_ntpc2; | |
655 | Double_t d_e2; | |
656 | Double_t d_dphi2; | |
657 | Double_t d_deta2; | |
658 | Double_t d_dcaxy2; | |
659 | Double_t d_dcaz2; | |
660 | Int_t d_conv2; | |
661 | ||
662 | Int_t nelec_pos[10]; //pT bin; | |
663 | ||
664 | vector<etrk> vem; | |
665 | vector<etrk> vep; | |
666 | vector<etrk> vem_tmp; | |
667 | vector<etrk> vep_tmp; | |
668 | ||
669 | ||
670 | }; | |
671 | ||
672 | #endif | |
673 | ||
674 | #ifdef ana_sgl_cxx | |
675 | ana_sgl::ana_sgl(TTree *tree) | |
676 | { | |
677 | // if parameter tree is not specified (or zero), connect the file | |
678 | // used to generate this class and read the Tree. | |
679 | if (tree == 0) { | |
680 | TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Resultstakuv2c123456AnalysisResults_t.root"); | |
681 | if (!f) { | |
682 | f = new TFile("Resultstakuv2c123456AnalysisResults_t.root"); | |
683 | f->cd("Resultstakuv2c123456AnalysisResults_t.root:/PWG3_dielectron"); | |
684 | } | |
685 | tree = (TTree*)gDirectory->Get("tree_MultiDie_CENT1"); | |
686 | ||
687 | } | |
688 | Init(tree); | |
689 | d_conv_flag = false; | |
690 | } | |
691 | ||
692 | ana_sgl::~ana_sgl() | |
693 | { | |
694 | if (!fChain) return; | |
695 | delete fChain->GetCurrentFile(); | |
696 | } | |
697 | ||
698 | Int_t ana_sgl::GetEntry(Long64_t entry) | |
699 | { | |
700 | // Read contents of entry. | |
701 | if (!fChain) return 0; | |
702 | return fChain->GetEntry(entry); | |
703 | } | |
704 | Long64_t ana_sgl::LoadTree(Long64_t entry) | |
705 | { | |
706 | // Set the environment to read one entry | |
707 | if (!fChain) return -5; | |
708 | Long64_t centry = fChain->LoadTree(entry); | |
709 | if (centry < 0) return centry; | |
710 | if (!fChain->InheritsFrom(TChain::Class())) return centry; | |
711 | TChain *chain = (TChain*)fChain; | |
712 | if (chain->GetTreeNumber() != fCurrent) { | |
713 | fCurrent = chain->GetTreeNumber(); | |
714 | Notify(); | |
715 | } | |
716 | return centry; | |
717 | } | |
718 | ||
719 | void ana_sgl::Init(TTree *tree) | |
720 | { | |
721 | // The Init() function is called when the selector needs to initialize | |
722 | // a new tree or chain. Typically here the branch addresses and branch | |
723 | // pointers of the tree will be set. | |
724 | // It is normally not necessary to make changes to the generated | |
725 | // code, but the routine can be extended by the user if needed. | |
726 | // Init() will be called many times when running on PROOF | |
727 | // (once per file to be processed). | |
728 | ||
729 | // Set branch addresses and branch pointers | |
730 | if (!tree) return; | |
731 | fChain = tree; | |
732 | fCurrent = -1; | |
733 | fChain->SetMakeClass(1); | |
734 | ||
735 | fChain->SetBranchAddress("kNEvent", &kNEvent, &b_kNEvent); | |
736 | fChain->SetBranchAddress("kMag", &kMag, &b_kMag); | |
737 | fChain->SetBranchAddress("fkTriggerInfo", &fkTriggerInfo, &b_fkTriggerInfo); | |
738 | fChain->SetBranchAddress("kTriggerMask", &kTriggerMask, &b_kTriggerMask); | |
739 | fChain->SetBranchAddress("kTriggerCent", &kTriggerCent, &b_kTriggerCent); | |
740 | fChain->SetBranchAddress("fkNCut", &fkNCut, &b_fkNCut); | |
741 | fChain->SetBranchAddress("fkRunNumber", &fkRunNumber, &b_fkRunNumber); | |
742 | fChain->SetBranchAddress("fkCentrality", &fkCentrality, &b_fkCentrality); | |
743 | fChain->SetBranchAddress("fkXvPrim", &fkXvPrim, &b_fkXvPrim); | |
744 | fChain->SetBranchAddress("fkYvPrim", &fkYvPrim, &b_fkYvPrim); | |
745 | fChain->SetBranchAddress("fkZvPrim", &fkZvPrim, &b_fkZvPrim); | |
746 | fChain->SetBranchAddress("fkXRes", &fkXRes, &b_fkXRes); | |
747 | fChain->SetBranchAddress("fkYRes", &fkYRes, &b_fkYRes); | |
748 | fChain->SetBranchAddress("fkZRes", &fkZRes, &b_fkZRes); | |
749 | fChain->SetBranchAddress("fkNTrk", &fkNTrk, &b_fkNTrk); | |
750 | fChain->SetBranchAddress("fkTracks", &fkTracks, &b_fkTracks); | |
751 | fChain->SetBranchAddress("fkNacc", &fkNacc, &b_fkNacc); | |
752 | fChain->SetBranchAddress("fkNaccTrcklts", &fkNaccTrcklts, &b_fkNaccTrcklts); | |
753 | fChain->SetBranchAddress("fkNch", &fkNch, &b_fkNch); | |
754 | fChain->SetBranchAddress("fkZDCN1E", &fkZDCN1E, &b_fkZDCN1E); | |
755 | fChain->SetBranchAddress("fkZDCP1E", &fkZDCP1E, &b_fkZDCP1E); | |
756 | fChain->SetBranchAddress("fkZDCN2E", &fkZDCN2E, &b_fkZDCN2E); | |
757 | fChain->SetBranchAddress("fkZDCP2E", &fkZDCP2E, &b_fkZDCP2E); | |
758 | fChain->SetBranchAddress("fkV0A", &fkV0A, &b_fkV0A); | |
759 | fChain->SetBranchAddress("fkV0C", &fkV0C, &b_fkV0C); | |
760 | fChain->SetBranchAddress("fkNPar", &fkNPar, &b_fkNPar); | |
761 | fChain->SetBranchAddress("kPx", kPx, &b_kPx); | |
762 | fChain->SetBranchAddress("kPy", kPy, &b_kPy); | |
763 | fChain->SetBranchAddress("kPz", kPz, &b_kPz); | |
764 | fChain->SetBranchAddress("kPt", kPt, &b_kPt); | |
765 | fChain->SetBranchAddress("kP", kP, &b_kP); | |
766 | fChain->SetBranchAddress("kXv", kXv, &b_kXv); | |
767 | fChain->SetBranchAddress("kYv", kYv, &b_kYv); | |
768 | fChain->SetBranchAddress("kZv", kZv, &b_kZv); | |
769 | fChain->SetBranchAddress("kOneOverPt", kOneOverPt, &b_kOneOverPt); | |
770 | fChain->SetBranchAddress("kPhi", kPhi, &b_kPhi); | |
771 | fChain->SetBranchAddress("kTheta", kTheta, &b_kTheta); | |
772 | fChain->SetBranchAddress("kEta", kEta, &b_kEta); | |
773 | fChain->SetBranchAddress("kY", kY, &b_kY); | |
774 | fChain->SetBranchAddress("kE", kE, &b_kE); | |
775 | fChain->SetBranchAddress("kM", kM, &b_kM); | |
776 | fChain->SetBranchAddress("kCharge", kCharge, &b_kCharge); | |
777 | fChain->SetBranchAddress("kNclsITS", kNclsITS, &b_kNclsITS); | |
778 | fChain->SetBranchAddress("kNclsTPC", kNclsTPC, &b_kNclsTPC); | |
779 | fChain->SetBranchAddress("kNclsTPCiter1", kNclsTPCiter1, &b_kNclsTPCiter1); | |
780 | fChain->SetBranchAddress("kNFclsTPC", kNFclsTPC, &b_kNFclsTPC); | |
781 | fChain->SetBranchAddress("kNFclsTPCr", kNFclsTPCr, &b_kNFclsTPCr); | |
782 | fChain->SetBranchAddress("kNFclsTPCrFrac", kNFclsTPCrFrac, &b_kNFclsTPCrFrac); | |
783 | fChain->SetBranchAddress("kTPCsignalN", kTPCsignalN, &b_kTPCsignalN); | |
784 | fChain->SetBranchAddress("kTPCsignalNfrac", kTPCsignalNfrac, &b_kTPCsignalNfrac); | |
785 | fChain->SetBranchAddress("kTPCchi2Cl", kTPCchi2Cl, &b_kTPCchi2Cl); | |
786 | fChain->SetBranchAddress("kTrackStatus", kTrackStatus, &b_kTrackStatus); | |
787 | fChain->SetBranchAddress("kNclsTRD", kNclsTRD, &b_kNclsTRD); | |
788 | fChain->SetBranchAddress("kTRDntracklets", kTRDntracklets, &b_kTRDntracklets); | |
789 | fChain->SetBranchAddress("kTRDpidQuality", kTRDpidQuality, &b_kTRDpidQuality); | |
790 | fChain->SetBranchAddress("kTRDprobEle", kTRDprobEle, &b_kTRDprobEle); | |
791 | fChain->SetBranchAddress("kTRDprobPio", kTRDprobPio, &b_kTRDprobPio); | |
792 | fChain->SetBranchAddress("kImpactParXY", kImpactParXY, &b_kImpactParXY); | |
793 | fChain->SetBranchAddress("kImpactParZ", kImpactParZ, &b_kImpactParZ); | |
794 | fChain->SetBranchAddress("kTrackLength", kTrackLength, &b_kTrackLength); | |
795 | fChain->SetBranchAddress("kPdgCode", kPdgCode, &b_kPdgCode); | |
796 | fChain->SetBranchAddress("kPdgCodeMother", kPdgCodeMother, &b_kPdgCodeMother); | |
797 | fChain->SetBranchAddress("kPdgCodeGrandMother", kPdgCodeGrandMother, &b_kPdgCodeGrandMother); | |
798 | fChain->SetBranchAddress("kNumberOfDaughters", kNumberOfDaughters, &b_kNumberOfDaughters); | |
799 | fChain->SetBranchAddress("kHaveSameMother", kHaveSameMother, &b_kHaveSameMother); | |
800 | fChain->SetBranchAddress("kIsJpsiPrimary", kIsJpsiPrimary, &b_kIsJpsiPrimary); | |
801 | fChain->SetBranchAddress("kITSsignal", kITSsignal, &b_kITSsignal); | |
802 | fChain->SetBranchAddress("kITSsignalSSD1", kITSsignalSSD1, &b_kITSsignalSSD1); | |
803 | fChain->SetBranchAddress("kITSsignalSSD2", kITSsignalSSD2, &b_kITSsignalSSD2); | |
804 | fChain->SetBranchAddress("kITSsignalSDD1", kITSsignalSDD1, &b_kITSsignalSDD1); | |
805 | fChain->SetBranchAddress("kITSsignalSDD2", kITSsignalSDD2, &b_kITSsignalSDD2); | |
806 | fChain->SetBranchAddress("kITSclusterMap", kITSclusterMap, &b_kITSclusterMap); | |
807 | fChain->SetBranchAddress("kITSnSigmaEle", kITSnSigmaEle, &b_kITSnSigmaEle); | |
808 | fChain->SetBranchAddress("kITSnSigmaPio", kITSnSigmaPio, &b_kITSnSigmaPio); | |
809 | fChain->SetBranchAddress("kITSnSigmaMuo", kITSnSigmaMuo, &b_kITSnSigmaMuo); | |
810 | fChain->SetBranchAddress("kITSnSigmaKao", kITSnSigmaKao, &b_kITSnSigmaKao); | |
811 | fChain->SetBranchAddress("kITSnSigmaPro", kITSnSigmaPro, &b_kITSnSigmaPro); | |
812 | fChain->SetBranchAddress("kPIn", kPIn, &b_kPIn); | |
813 | fChain->SetBranchAddress("kTPCsignal", kTPCsignal, &b_kTPCsignal); | |
814 | fChain->SetBranchAddress("kTOFsignal", kTOFsignal, &b_kTOFsignal); | |
815 | fChain->SetBranchAddress("kTOFbeta", kTOFbeta, &b_kTOFbeta); | |
816 | fChain->SetBranchAddress("kTPCnSigmaEle", kTPCnSigmaEle, &b_kTPCnSigmaEle); | |
817 | fChain->SetBranchAddress("kTPCnSigmaPio", kTPCnSigmaPio, &b_kTPCnSigmaPio); | |
818 | fChain->SetBranchAddress("kTPCnSigmaMuo", kTPCnSigmaMuo, &b_kTPCnSigmaMuo); | |
819 | fChain->SetBranchAddress("kTPCnSigmaKao", kTPCnSigmaKao, &b_kTPCnSigmaKao); | |
820 | fChain->SetBranchAddress("kTPCnSigmaPro", kTPCnSigmaPro, &b_kTPCnSigmaPro); | |
821 | fChain->SetBranchAddress("kTOFnSigmaEle", kTOFnSigmaEle, &b_kTOFnSigmaEle); | |
822 | fChain->SetBranchAddress("kTOFnSigmaPio", kTOFnSigmaPio, &b_kTOFnSigmaPio); | |
823 | fChain->SetBranchAddress("kTOFnSigmaMuo", kTOFnSigmaMuo, &b_kTOFnSigmaMuo); | |
824 | fChain->SetBranchAddress("kTOFnSigmaKao", kTOFnSigmaKao, &b_kTOFnSigmaKao); | |
825 | fChain->SetBranchAddress("kTOFnSigmaPro", kTOFnSigmaPro, &b_kTOFnSigmaPro); | |
826 | fChain->SetBranchAddress("kKinkIndex0", kKinkIndex0, &b_kKinkIndex0); | |
827 | fChain->SetBranchAddress("kChi2NDF", kChi2NDF, &b_kChi2NDF); | |
828 | fChain->SetBranchAddress("kDecayLength", kDecayLength, &b_kDecayLength); | |
829 | fChain->SetBranchAddress("kR", kR, &b_kR); | |
830 | fChain->SetBranchAddress("kOpeningAngle", kOpeningAngle, &b_kOpeningAngle); | |
831 | fChain->SetBranchAddress("kThetaHE", kThetaHE, &b_kThetaHE); | |
832 | fChain->SetBranchAddress("kPhiHE", kPhiHE, &b_kPhiHE); | |
833 | fChain->SetBranchAddress("kThetaCS", kThetaCS, &b_kThetaCS); | |
834 | fChain->SetBranchAddress("kPhiCS", kPhiCS, &b_kPhiCS); | |
835 | fChain->SetBranchAddress("kLegDist", kLegDist, &b_kLegDist); | |
836 | fChain->SetBranchAddress("kLegDistXY", kLegDistXY, &b_kLegDistXY); | |
837 | fChain->SetBranchAddress("kDeltaEta", kDeltaEta, &b_kDeltaEta); | |
838 | fChain->SetBranchAddress("kDeltaPhi", kDeltaPhi, &b_kDeltaPhi); | |
839 | fChain->SetBranchAddress("kMerr", kMerr, &b_kMerr); | |
840 | fChain->SetBranchAddress("kDCA", kDCA, &b_kDCA); | |
841 | fChain->SetBranchAddress("kPairType", kPairType, &b_kPairType); | |
842 | fChain->SetBranchAddress("kPseudoProperTime", kPseudoProperTime, &b_kPseudoProperTime); | |
843 | fChain->SetBranchAddress("kXvPrim", kXvPrim, &b_kXvPrim); | |
844 | fChain->SetBranchAddress("kYvPrim", kYvPrim, &b_kYvPrim); | |
845 | fChain->SetBranchAddress("kZvPrim", kZvPrim, &b_kZvPrim); | |
846 | fChain->SetBranchAddress("kXRes", kXRes, &b_kXRes); | |
847 | fChain->SetBranchAddress("kYRes", kYRes, &b_kYRes); | |
848 | fChain->SetBranchAddress("kZRes", kZRes, &b_kZRes); | |
849 | fChain->SetBranchAddress("kNTrk", kNTrk, &b_kNTrk); | |
850 | fChain->SetBranchAddress("kTracks", kTracks, &b_kTracks); | |
851 | fChain->SetBranchAddress("kNacc", kNacc, &b_kNacc); | |
852 | fChain->SetBranchAddress("kNaccTrcklts", kNaccTrcklts, &b_kNaccTrcklts); | |
853 | fChain->SetBranchAddress("kNch", kNch, &b_kNch); | |
854 | fChain->SetBranchAddress("kCentrality", kCentrality, &b_kCentrality); | |
855 | fChain->SetBranchAddress("kNevents", kNevents, &b_kNevents); | |
856 | Notify(); | |
857 | } | |
858 | ||
859 | Bool_t ana_sgl::Notify() | |
860 | { | |
861 | // The Notify() function is called when a new file is opened. This | |
862 | // can be either for a new TTree in a TChain or when when a new TTree | |
863 | // is started when using PROOF. It is normally not necessary to make changes | |
864 | // to the generated code, but the routine can be extended by the | |
865 | // user if needed. The return value is currently not used. | |
866 | ||
867 | return kTRUE; | |
868 | } | |
869 | ||
870 | void ana_sgl::Show(Long64_t entry) | |
871 | { | |
872 | // Print contents of entry. | |
873 | // If entry is not specified, print current entry | |
874 | if (!fChain) return; | |
875 | fChain->Show(entry); | |
876 | } | |
877 | Int_t ana_sgl::Cut(Long64_t entry) | |
878 | { | |
879 | // This function may be called from Loop. | |
880 | // returns 1 if entry is accepted. | |
881 | // returns -1 otherwise. | |
882 | return 1; | |
883 | } | |
884 | #endif // #ifdef ana_sgl_cxx |