AliPhysics  master (3d17d9d)
AliAnalysisTaskSELc2V0bachelorTMVAApp.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSELC2V0BACHELORTMVAAPP_H
2 #define ALIANALYSISTASKSELC2V0BACHELORTMVAAPP_H
3 /**************************************************************************
4  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * *
6  * Author: The ALICE Off-line Project. *
7  * Contributors are mentioned in the code where appropriate. *
8  * *
9  * Permission to use, copy, modify and distribute this software and its *
10  * documentation strictly for non-commercial purposes is hereby granted *
11  * without fee, provided that the above copyright notice appears in all *
12  * copies and that both the copyright notice and this permission notice *
13  * appear in the supporting documentation. The authors make no claims *
14  * about the suitability of this software for any purpose. It is *
15  * provided "as is" without express or implied warranty. *
16  **************************************************************************/
17 
18 /* $Id: AliAnalysisTaskSELc2V0bachelorTMVAApp.h 61835 2013-04-05 23:07:23Z fprino $ */
19 
20 #include "TROOT.h"
21 #include "TSystem.h"
22 
23 #include "AliAnalysisTaskSE.h"
24 #include "AliAODEvent.h"
25 #include "AliAODMCHeader.h"
26 #include "AliPID.h"
27 #include "AliAODTrack.h"
28 #include "AliAODVertex.h"
29 #include "AliAODRecoDecay.h"
30 #include "AliPIDResponse.h"
31 #include "AliPIDCombined.h"
32 #include "AliTPCPIDResponse.h"
33 #include "AliRDHFCutsLctoV0.h"
35 #include "AliVertexingHFUtils.h"
36 #include "AliAODRecoCascadeHF.h"
37 
38 #include <TMVA/Tools.h>
39 #include <TMVA/Reader.h>
40 #include <TMVA/MethodCuts.h>
41 #include <TProfile.h>
42 
44 
45 class IClassifierReader;
46 class ReadBDT_Default;
47 
48 class TH1F;
49 class TH1D;
50 
52 {
53 
54  public:
55 
56  enum EBachelor {
58  kBachFake = 0,
64 
65  enum EK0S {
67  kK0SFake = 0,
68  kK0SNoK0S = 1,
75 
76 
79  Bool_t useOnTheFly=kFALSE);
81 
83  virtual void UserCreateOutputObjects();
84  virtual void Init();
85  virtual void LocalInit() {Init();}
86  virtual void UserExec(Option_t *option);
87  virtual void Terminate(Option_t *option);
88 
91  Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal,
92  TClonesArray *mcArray, Int_t iLctopK0s);
93 
94  void MakeAnalysisForLc2prK0S(AliAODEvent *aodEvent,
95  TClonesArray *arrayLctopK0s,
96  TClonesArray *mcArray,
97  Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal,
98  TClonesArray *array3Prong, AliAODMCHeader *aodheader);
99 
102  void SetTMVAlibName(const char* libName) {fTMVAlibName = libName;}
104  void SetTMVAlibPtBin(const char* libPtBin) {fTMVAlibPtBin = libPtBin;}
108 
110  void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
111  Bool_t GetMC() const {return fUseMCInfo;}
112 
115 
118 
121 
124 
127 
130 
133 
136 
139 
142 
143  void SetTriggerMask(ULong64_t c) { fTriggerMask = c;}
144 
145  void SetFillTree(Bool_t a) { fFillTree = a;}
146 
147  void SetMCNchHisto(TH1F* h){
148  if(fHistoMCNch) delete fHistoMCNch;
149  fHistoMCNch = new TH1F(*h);
150  }
151 
154 
157 
160 
161  void SetNVars(Int_t n) {fNVars = n;}
162  Int_t GetNVars() const {return fNVars;}
163 
164  void SetTimestampCut(UInt_t value) {fTimestampCut = value;}
166 
167  void SetTMVAReader(TMVA::Reader* r) {fReader = r;}
168  TMVA::Reader* GetTMVAReader() const {return fReader;}
169 
172 
175 
178 
181 
184 
187 
190 
192 
194 
198 
202 
204 
206 
208 
209  // pp - 2010
210  void SetMultiplVsZProfileLHC10b(TProfile* hprof){
211  if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
212  fMultEstimatorAvg[0]=new TProfile(*hprof);
213  fYearNumber = 10;
214  }
215  void SetMultiplVsZProfileLHC10c(TProfile* hprof){
216  if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
217  fMultEstimatorAvg[1]=new TProfile(*hprof);
218  fYearNumber = 10;
219  }
220  void SetMultiplVsZProfileLHC10d(TProfile* hprof){
221  if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
222  fMultEstimatorAvg[2]=new TProfile(*hprof);
223  fYearNumber = 10;
224  }
225  void SetMultiplVsZProfileLHC10e(TProfile* hprof){
226  if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
227  fMultEstimatorAvg[3]=new TProfile(*hprof);
228  fYearNumber = 10;
229  }
230 
231  // pp - 2016
232  void SetMultiplVsZProfileLHC16d(TProfile* hprof){
233  if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
234  fMultEstimatorAvg[0]=new TProfile(*hprof);
235  fYearNumber = 16;
236  }
237  void SetMultiplVsZProfileLHC16e(TProfile* hprof){
238  if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
239  fMultEstimatorAvg[1]=new TProfile(*hprof);
240  fYearNumber = 16;
241  }
242  void SetMultiplVsZProfileLHC16g(TProfile* hprof){
243  if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
244  fMultEstimatorAvg[2]=new TProfile(*hprof);
245  fYearNumber = 16;
246  }
247  void SetMultiplVsZProfileLHC16h1(TProfile* hprof){
248  if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
249  fMultEstimatorAvg[3]=new TProfile(*hprof);
250  fYearNumber = 16;
251  }
252  void SetMultiplVsZProfileLHC16h2(TProfile* hprof){
253  if(fMultEstimatorAvg[4]) delete fMultEstimatorAvg[4];
254  fMultEstimatorAvg[4]=new TProfile(*hprof);
255  fYearNumber = 16;
256  }
257  void SetMultiplVsZProfileLHC16j(TProfile* hprof){
258  if(fMultEstimatorAvg[5]) delete fMultEstimatorAvg[5];
259  fMultEstimatorAvg[5]=new TProfile(*hprof);
260  fYearNumber = 16;
261  }
262  void SetMultiplVsZProfileLHC16k(TProfile* hprof){
263  if(fMultEstimatorAvg[6]) delete fMultEstimatorAvg[6];
264  fMultEstimatorAvg[6]=new TProfile(*hprof);
265  fYearNumber = 16;
266  }
267  void SetMultiplVsZProfileLHC16l(TProfile* hprof){
268  if(fMultEstimatorAvg[7]) delete fMultEstimatorAvg[7];
269  fMultEstimatorAvg[7]=new TProfile(*hprof);
270  fYearNumber = 16;
271  }
272  void SetMultiplVsZProfileLHC16o(TProfile* hprof){
273  if(fMultEstimatorAvg[8]) delete fMultEstimatorAvg[8];
274  fMultEstimatorAvg[8]=new TProfile(*hprof);
275  fYearNumber = 16;
276  }
277  void SetMultiplVsZProfileLHC16p(TProfile* hprof){
278  if(fMultEstimatorAvg[9]) delete fMultEstimatorAvg[9];
279  fMultEstimatorAvg[9]=new TProfile(*hprof);
280  fYearNumber = 16;
281  }
282 
283  // pp - 2017
284  void SetMultiplVsZProfileLHC17e(TProfile* hprof){
285  if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
286  fMultEstimatorAvg[0]=new TProfile(*hprof);
287  fYearNumber = 17;
288  }
289  void SetMultiplVsZProfileLHC17f(TProfile* hprof){
290  if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
291  fMultEstimatorAvg[1]=new TProfile(*hprof);
292  fYearNumber = 17;
293  }
294  void SetMultiplVsZProfileLHC17h(TProfile* hprof){
295  if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
296  fMultEstimatorAvg[2]=new TProfile(*hprof);
297  fYearNumber = 17;
298  }
299  void SetMultiplVsZProfileLHC17i(TProfile* hprof){
300  if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
301  fMultEstimatorAvg[3]=new TProfile(*hprof);
302  fYearNumber = 17;
303  }
304  void SetMultiplVsZProfileLHC17j(TProfile* hprof){
305  if(fMultEstimatorAvg[4]) delete fMultEstimatorAvg[4];
306  fMultEstimatorAvg[4]=new TProfile(*hprof);
307  fYearNumber = 17;
308  }
309  void SetMultiplVsZProfileLHC17k(TProfile* hprof){
310  if(fMultEstimatorAvg[5]) delete fMultEstimatorAvg[5];
311  fMultEstimatorAvg[5]=new TProfile(*hprof);
312  fYearNumber = 17;
313  }
314  void SetMultiplVsZProfileLHC17l(TProfile* hprof){
315  if(fMultEstimatorAvg[6]) delete fMultEstimatorAvg[6];
316  fMultEstimatorAvg[6]=new TProfile(*hprof);
317  fYearNumber = 17;
318  }
319  void SetMultiplVsZProfileLHC17m(TProfile* hprof){
320  if(fMultEstimatorAvg[7]) delete fMultEstimatorAvg[7];
321  fMultEstimatorAvg[7]=new TProfile(*hprof);
322  fYearNumber = 17;
323  }
324  void SetMultiplVsZProfileLHC17o(TProfile* hprof){
325  if(fMultEstimatorAvg[8]) delete fMultEstimatorAvg[8];
326  fMultEstimatorAvg[8]=new TProfile(*hprof);
327  fYearNumber = 17;
328  }
329  void SetMultiplVsZProfileLHC17r(TProfile* hprof){
330  if(fMultEstimatorAvg[9]) delete fMultEstimatorAvg[9];
331  fMultEstimatorAvg[9]=new TProfile(*hprof);
332  fYearNumber = 17;
333  }
334 
335  // pp - 2018
336  void SetMultiplVsZProfileLHC18b(TProfile* hprof){
337  if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
338  fMultEstimatorAvg[0]=new TProfile(*hprof);
339  fYearNumber = 18;
340  }
341  void SetMultiplVsZProfileLHC18d(TProfile* hprof){
342  if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
343  fMultEstimatorAvg[1]=new TProfile(*hprof);
344  fYearNumber = 18;
345  }
346  void SetMultiplVsZProfileLHC18e(TProfile* hprof){
347  if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
348  fMultEstimatorAvg[2]=new TProfile(*hprof);
349  fYearNumber = 18;
350  }
351  void SetMultiplVsZProfileLHC18f(TProfile* hprof){
352  if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
353  fMultEstimatorAvg[3]=new TProfile(*hprof);
354  fYearNumber = 18;
355  }
356  void SetMultiplVsZProfileLHC18g(TProfile* hprof){
357  if(fMultEstimatorAvg[4]) delete fMultEstimatorAvg[4];
358  fMultEstimatorAvg[4]=new TProfile(*hprof);
359  fYearNumber = 18;
360  }
361  void SetMultiplVsZProfileLHC18h(TProfile* hprof){
362  if(fMultEstimatorAvg[5]) delete fMultEstimatorAvg[5];
363  fMultEstimatorAvg[5]=new TProfile(*hprof);
364  fYearNumber = 18;
365  }
366  void SetMultiplVsZProfileLHC18i(TProfile* hprof){
367  if(fMultEstimatorAvg[6]) delete fMultEstimatorAvg[6];
368  fMultEstimatorAvg[6]=new TProfile(*hprof);
369  fYearNumber = 18;
370  }
371  void SetMultiplVsZProfileLHC18j(TProfile* hprof){
372  if(fMultEstimatorAvg[7]) delete fMultEstimatorAvg[7];
373  fMultEstimatorAvg[7]=new TProfile(*hprof);
374  fYearNumber = 18;
375  }
376  void SetMultiplVsZProfileLHC18k(TProfile* hprof){
377  if(fMultEstimatorAvg[8]) delete fMultEstimatorAvg[8];
378  fMultEstimatorAvg[8]=new TProfile(*hprof);
379  fYearNumber = 18;
380  }
381  void SetMultiplVsZProfileLHC18l(TProfile* hprof){
382  if(fMultEstimatorAvg[9]) delete fMultEstimatorAvg[9];
383  fMultEstimatorAvg[9]=new TProfile(*hprof);
384  fYearNumber = 18;
385  }
386  void SetMultiplVsZProfileLHC18m(TProfile* hprof){
387  if(fMultEstimatorAvg[10]) delete fMultEstimatorAvg[10];
388  fMultEstimatorAvg[10]=new TProfile(*hprof);
389  fYearNumber = 18;
390  }
391  void SetMultiplVsZProfileLHC18n(TProfile* hprof){
392  if(fMultEstimatorAvg[11]) delete fMultEstimatorAvg[11];
393  fMultEstimatorAvg[11]=new TProfile(*hprof);
394  fYearNumber = 18;
395  }
396  void SetMultiplVsZProfileLHC18o(TProfile* hprof){
397  if(fMultEstimatorAvg[12]) delete fMultEstimatorAvg[12];
398  fMultEstimatorAvg[12]=new TProfile(*hprof);
399  fYearNumber = 18;
400  }
401  void SetMultiplVsZProfileLHC18p(TProfile* hprof){
402  if(fMultEstimatorAvg[13]) delete fMultEstimatorAvg[13];
403  fMultEstimatorAvg[13]=new TProfile(*hprof);
404  fYearNumber = 18;
405  }
406 
407  private:
408 
409  EBachelor CheckBachelor(AliAODRecoCascadeHF *part, AliAODTrack* bachelor, TClonesArray *mcArray);
410  EK0S CheckK0S(AliAODRecoCascadeHF *part, AliAODv0* v0part, TClonesArray *mcArray);
411  Int_t FindV0Label(AliAODRecoDecay* v0part, TClonesArray *mcArray) const;
412  Int_t FindLcLabel(AliAODRecoCascadeHF* cascade, TClonesArray *mcArray) const;
413  Int_t CallKFVertexing(AliAODRecoCascadeHF *cascade, AliAODv0* v0part, AliAODTrack* bach, TClonesArray *mcArray,
414  Double_t* V0KF, Double_t* errV0KF, Double_t* LcKF, Double_t* errLcKF,
415  Double_t* distances, Double_t* armPolKF);
416 
417  void FillMCHisto(TClonesArray *mcArray);
418 
421  /* TProfile* GetEstimatorHistogram(const AliVEvent *event); */
422 
425 
426  // define the histograms
427  AliPIDResponse *fPIDResponse;
428  AliPIDCombined *fPIDCombined;
439 
443 
445  TH1F* fHistoEvents;
450  TH1F* fHistoLc;
458  AliAODVertex *fVtx1;
459 
463 
467 
471 
475 
479 
481 
485 
487 
491 
495 
497 
501 
505 
510 
514 
518 
522 
526 
531 
533 
549 
550  ULong64_t fTriggerMask;
551 
555  TH1F* fHistoMCNch;
556 
560 
562 
563  Bool_t fUseWeightsLibrary; // flag to decide whether to use or not the BDT class
586 
588 
590 
593 
595 
596  UInt_t fTimestampCut; // cut on timestamp
597 
598  Bool_t fUseXmlWeightsFile; // flag to decide whether to use or not the xml file
599  TMVA::Reader *fReader; // TMVA reader using xml file
600  Float_t* fVarsTMVA; //[fNVars] // variables to be used by TMVA
601  Int_t fNVarsSpectators; // number of spectator variables
602  Float_t* fVarsTMVASpectators; //[fNVarsSpectators] // variables to be used by TMVA
603  TString fNamesTMVAVarSpectators; // vector of the names of the spectators variables
604  TString fXmlWeightsFile; // file with TMVA weights
606  Bool_t fUseXmlFileFromCVMFS; // Boolean to acces Xml from CVMFS path
607  TString fXmlFileFromCVMFS; // Path in CVMFS directory
608 
609  // Multiplicity corrections
610  TProfile* GetEstimatorHistogram(const AliVEvent *event);
611  Bool_t fUseMultCorrection; // flag to decide wether you want to correct the multiplicity
612  Double_t fRefMult; // refrence multiplcity (period b)
613  TProfile* fMultEstimatorAvg[14]; // TProfile with mult vs. Z per period
614  Int_t fYearNumber; // year number of the data taking
615  Int_t fMultiplicityEstimator; // Definition of the multiplicity estimator: kNtrk10=0, kNtrk10to16=1, kVZERO=2
616  Int_t fDoVZER0ParamVertexCorr; // Flag to use the zvtx correction from (0=none, 1=usual d2h, 2=AliESDUtils for VZERO multiplicity)
618  Float_t fMultiplicityCutMin; // Minimum multiplicity cut, minimum is included
619  Float_t fMultiplicityCutMax; // Maximum multiplicity cut, maximum is excluded
620 
625 
628 };
630 
631 #endif
632 
TH1F * fHistoMCLcK0SpGenLimAcc
! histo with MC Lc –> K0S + p
TH2D * fHistoArmenterosPodolanskiV0AODSgn
! KF: AOD Armeteros-Podolanski plot for V0 from signal Lc from KF
Int_t fCurrentEvent
cut for KF on distance to primary vtx for V0
Int_t fNVars
flag to decide if to take the nSigma from the PIDresponse or from AliAODPidHF
TH1D * fHistoVtxV0ResidualToLc
! KF: residual wrt MC of distance V0 vertex from Lc vertex (MC - KF)
TH2D * fHistoDecayLengthKFV0
! KF: decay length vs decay length error for V0 from KF
EBachelor CheckBachelor(AliAODRecoCascadeHF *part, AliAODTrack *bachelor, TClonesArray *mcArray)
double Double_t
Definition: External.C:58
Float_t fCentrality
tracklet multiplicity in event without eta cut
TH2D * fHistoArmenterosPodolanskiV0KFSgn
! KF: Armeteros-Podolanski plot for V0 from signal Lc from KF
Definition: External.C:236
Int_t fNTracklets_All
tracklet multiplicity in event in [-1. 1]
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TH1D * fHistoDecayLengthLcTrue
! KF: decay length for true cascades reconstructed with KF
TH1F * fHistoMCNch
! histogram with Nch distribution from MC production
Int_t FindLcLabel(AliAODRecoCascadeHF *cascade, TClonesArray *mcArray) const
Int_t FindV0Label(AliAODRecoDecay *v0part, TClonesArray *mcArray) const
AliPIDCombined * fPIDCombined
! combined PID response object
TH2F * fHistoCodesBkg
! histogram with codes for bachelor and V0 for background
TString fileName
TH1D * fHistoMassV0TrueFromAOD
! KF: AOD mass for true V0 reconstructed with KF
TH1D * fHistoDistanceV0ToLc
! KF: distance V0 vertex from Lc vertex
TH2F * fHistoTracklets_All_cent
! histogram with number of tracklets in the event in eta [-999, 999] vs centrality ...
TH2D * fBDTHistoVsSignd0
! BDT classifier vs V0 proton signed d0
TH1D * fHistoMassV0fromLcTrue
! KF: mass of V0 for true cascades reconstructed with KF
TH1D * fHistoLifeTimeV0TrueK0S
! KF: life time for true V0 which are really K0S reconstructed with KF
TH1D * fHistoLifeTimeV0True
! KF: life time for true V0 reconstructed with KF
TH2D * fBDTHistoVsBachelorTPCP
! BDT classifier vs bachelor p at TPC wall
char Char_t
Definition: External.C:18
TH2D * fBDTHistoVsMassK0S
! BDT classifier vs mass (pi+pi-) pairs
TH1D * fHistoDistanceV0ToPrimVtx
! KF: distance V0 vertex from primary vertex
Int_t CallKFVertexing(AliAODRecoCascadeHF *cascade, AliAODv0 *v0part, AliAODTrack *bach, TClonesArray *mcArray, Double_t *V0KF, Double_t *errV0KF, Double_t *LcKF, Double_t *errLcKF, Double_t *distances, Double_t *armPolKF)
TList * fOutputKF
! User output1: list of histograms from KF
AliNormalizationCounter * fCounterC
! AliNormalizationCounter on output slot 4, corrected with multiplicity dependence ...
TH1D * fHistoDecayLengthV0fromLcSgn
! KF: decay length of V0 for signal Lc reconstructed with KF
TH1D * fHistoMassV0fromLcAll
! KF: mass of V0 for all cascades reconstructed with KF
TCanvas * c
Definition: TestFitELoss.C:172
TH2D * fBDTHistoVsCosPAK0S
! BDT classifier vs V0 cosine of pointing angle
TH1D * fHistoMassV0All
! KF: mass for all V0 reconstructed with KF
TH2D * fHistoMassKFV0
! KF: mass vs mass error for V0 from KF
TH2D * fBDTHistoVsnSigmaTOFpr
! BDT classifier vs nSigmaTOFpr
TH1F * fHistoEvents
! histogram with number of events analyzed
TH1D * fHistoDistanceLcToPrimVtxSgn
! KF: distance of signal Lc vertex from primary vertex
void FillLc2pK0Sspectrum(AliAODRecoCascadeHF *part, Int_t isLc, Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal, TClonesArray *mcArray, Int_t iLctopK0s)
histos
TH2D * fHistoMassKFLc
! KF: mass vs mass error for Lc from KF
TH2F * fHistoVzVsNtrCorr
! hist. Vz vs corrected tracklets
TH2F * fHistoTracklets_1_cent
! histogram with number of tracklets in the event in eta [-1, 1] vs centrality
TH2D * fBDTHistoVsCombinedProtonProb
! BDT classifier vs combined proton probability
TH2F * fHistoCodesSgn
! histogram with codes for bachelor and V0 for signal
TH1F * fHistoCentrality
! histogram with centrality from AliRDHFCuts
void MakeAnalysisForLc2prK0S(AliAODEvent *aodEvent, TClonesArray *arrayLctopK0s, TClonesArray *mcArray, Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal, TClonesArray *array3Prong, AliAODMCHeader *aodheader)
TH1D * fHistoMassLcTrue
! KF: mass for true cascades reconstructed with KF
TH2D * fBDTHistoVsCosThetaStar
! BDT classifier vs proton emission angle in pK0s pair rest frame
TH1D * fHistoDecayLengthV0All
! KF: decay length for all V0 reconstructed with KF
int Int_t
Definition: External.C:63
TH2D * fHistoLifeTimeKFV0
! KF: life time vs life time error for V0 from KF
TH1D * fHistoVtxLcResidualToPrimVtx
! KF: residual wrt MC of distance Lc vertex from primary vertex (MC - KF)
unsigned int UInt_t
Definition: External.C:33
TH1D * fHistoLifeTimeV0All
! KF: life time for all V0 reconstructed with KF
TString fNamesTMVAVar
Pt bin that will be in the library to be loaded for the TMVA.
TH1D * fHistoKFV0
! KF: V0 code from KF (mass, decaylength, lifetime considered)
float Float_t
Definition: External.C:68
TH1D * fHistoMassV0True
! KF: mass for true V0 reconstructed with KF
TH1F * fHistoTracklets_All
! histogram with number of tracklets in the event in eta [-999, 999]
TH1F * fHistoNtrCorr
! hist. with number of corrected tracklets
TF1 * fFuncWeightFONLL5overLHC13d3
! weight function for FONLL vs pPb prod.
TH1D * fHistoDecayLengthV0fromLcAll
! KF: decay length of V0 for all cascades reconstructed with KF
Double_t fBField
current event number - for debug purposes
TH1F * fHistoFiducialAcceptance
! histogram to check FiducialAcceptance cut
TTree * fVariablesTreeBkg
! tree of the candidate variables after track selection (Background)
Definition: External.C:228
Definition: External.C:212
TH1D * fHistoLifeTimeV0fromLcSgn
! KF: life time of V0 for signal Lc reconstructed with KF
TH2D * fHistoArmenterosPodolanskiV0KF
! KF: Armeteros-Podolanski plot for all V0 from KF
TH1D * fHistoMassV0TrueK0SFromAOD
! KF: AOD mass for true V0 which are really K0S reconstructed with KF
TH1D * fHistoMassV0fromLcSgn
! KF: mass of V0 for signal Lc reconstructed with KF
Bool_t fUsePIDresponseForNsigma
-1: no protection, 0: check AOD/dAOD nEvents only, 1: check AOD/dAOD nEvents + TProcessID names ...
TH1F * fHistoLcpKpiBeforeCuts
! histogram number of true Lc–>pKpi (3 prong) before any cut
TH1F * fHistoBackground
AliVertexingHFUtils used to check the generator of a specific candidate.
TH1D * fHistoMassLcAll
! KF: mass for all Lc reconstructed with KF
TH1D * fHistoLifeTimeV0fromLcTrue
! KF: life time of V0 for true cascades reconstructed with KF
Bool_t fUseOnTheFlyV0
list of profiles for z-vtx correction of multiplicity
TF1 * fFuncWeightPythia
mask to the trigger word returned by the physics selection
TString fTMVAlibPtBin
Name of the library to load to have the TMVA weights.
TH2D * fBDTHistoVsBachelorP
! BDT classifier vs bachelor p
TH2F * fHistoVzVsNtrUnCorr
! hist. Vz vs UNCORRECTED tracklets
TH1F * fHistoNtrUnCorr
! hist. with number of uncorrected tracklets
TH1D * fHistoMassV0TrueK0S
! KF: mass for true V0 which are really K0S reconstructed with KF
TH1D * fHistoMassLcSgnFromAOD
! KF: AOD mass of signal Lc reconstructed with KF
TH1D * fHistoDecayLengthV0fromLcTrue
! KF: decay length of V0 for true cascades reconstructed with KF
TH1D * fHistoDecayLengthLcSgn
! KF: decay length of signal Lc reconstructed with KF
TH1D * fHistoDecayLengthV0TrueK0S
! KF: decay length for true V0 which are really K0S reconstructed with KF
AliAnalysisTaskSELc2V0bachelorTMVAApp & operator=(const AliAnalysisTaskSELc2V0bachelorTMVAApp &source)
Int_t fAODProtection
flag to decide whether or not to have extra histograms (useful mainly for debug)
AliVertexingHFUtils * fUtils
flag to fill bkg with only candidates that have daughters generated by HIJING (to be used for enriche...
TH2D * fBDTHistoVsnSigmaTPCpi
! BDT classifier vs nSigmaTPCpi
TH2D * fHistoKF
! KF: V0 code vs Lc code from KF (mass, decaylength, lifetime considered)
TH2D * fHistoArmenterosPodolanskiV0AOD
! KF: AOD Armeteros-Podolanski plot for all V0 from KF
TH1D * fHistoKFLc
! KF: Lc code from KF (mass, decaylength, lifetime considered)
AliPIDResponse * fPIDResponse
! PID response object
TH1D * fHistoMassLcSgn
! KF: mass of signal Lc reconstructed with KF
Float_t fCutKFDeviationFromVtxV0
cut for KF on distance to primary vtx
Bool_t fIsEventSelected
flag to analyze also on-the-fly V0 candidates
AliNormalizationCounter * fCounter
switch between Lpi and K0sp
TH1F * fHistoMCLcK0SpGen
flag to allow to use only PYTHIA tracks for background
TH1D * fHistoMassLcTrueFromAOD
! KF: AOD mass for true cascades reconstructed with KF
Float_t * fCandidateVariables
! variables to be written to the tree
TH1D * fHistoDistanceV0ToLcSgn
! KF: distance for signal Lc of V0 vertex from Lc vertex
TH1D * fHistoLifeTimeLcSgn
! KF: life time of signal Lc reconstructed with KF
Bool_t fCallKFVertexing
flag to use topological constraints in KF
TH1D * fHistoLifeTimeLcAll
! KF: life time for all Lc reconstructed with KF
TH2D * fBDTHistoTMVA
! BDT histo file for the case in which the xml file is used
TF1 * fFuncWeightFONLL5overLHC13d3Lc
! weight function for FONLL vs pPb prod.
void SetUseVZEROParameterizedVertexCorr(Int_t flag)
Flag to use the zvtx correction from ( 0= none, 1= usual d2h, 2=AliESDUtils for VZERO multiplicity) ...
const char Option_t
Definition: External.C:48
TH1D * fHistoLifeTimeLcTrue
! KF: life time for true cascades reconstructed with KF
TH2D * fBDTHistoVsnSigmaTPCpr
! BDT classifier vs nSigmaTPCpr
TH1F * fHistoLcOnTheFly
! histogram with number of Lc with on-the-fly V0
EK0S CheckK0S(AliAODRecoCascadeHF *part, AliAODv0 *v0part, TClonesArray *mcArray)
TH2D * fBDTHistoVstImpParBach
! BDT classifier vs proton d0
TH1D * fHistoDecayLengthV0True
! KF: decay length for true V0 reconstructed with KF
bool Bool_t
Definition: External.C:53
TH2D * fBDTHistoVsBachelorPt
! BDT classifier vs proton pT
TH1D * fHistoLifeTimeV0fromLcAll
! KF: life time of V0 for all cascades reconstructed with KF
TH1F * fHistoLcBeforeCuts
flag to fill only signal (speeding up processing)
Bool_t fKeepingOnlyPYTHIABkg
magnetic field of current event
TH2D * fHistoDecayLengthKFLc
! KF: decay length vs decay length error for Lc from KF
Bool_t fUseWeightsLibrary
flag to decide whether to fill the sgn and bkg trees
TH2D * fHistoLifeTimeKFLc
! KF: life time vs life time error for Lc from KF
Bool_t fKeepingOnlyHIJINGBkg
flag to decide whether to call or not KF
TH1F * fHistoMCLcK0SpGenAcc
! histo with MC Lc –> K0S + p
TH1F * fHistoTracklets_1
! histogram with number of tracklets in the event in eta [-1, 1]
TH2D * fBDTHistoVsnSigmaTPCka
! BDT classifier vs nSigmaTPCka
TH1D * fHistoVtxV0ResidualToPrimVtx
! KF: residual wrt MC of distance V0 vertex from primary vertex (MC - KF)
TH2D * fBDTHisto
vector of the names of the input variables
TH1D * fHistoDistanceV0ToPrimVtxSgn
! KF: distance for signal Lc of V0 vertex from primary vertex
IClassifierReader * fBDTReader
! BDT reader using BDT class
TH1D * fHistoDecayLengthLcAll
! KF: decay length for all Lc reconstructed with KF
Class with functions useful for different D2H analyses //.