AliPhysics  master (3d17d9d)
AliAnalysisTaskSEXic2eleXifromAODtracks.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSEXIC2ELEXIFROMAODTRACKS_H
2 #define ALIANALYSISTASKSEXIC2ELEXIFROMAODTRACKS_H
3 
4 /**************************************************************************
5  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
6  * *
7  * Author: The ALICE Off-line Project. *
8  * Contributors are mentioned in the code where appropriate. *
9  * *
10  * Permission to use, copy, modify and distribute this software and its *
11  * documentation strictly for non-commercial purposes is hereby granted *
12  * without fee, provided that the above copyright notice appears in all *
13  * copies and that both the copyright notice and this permission notice *
14  * appear in the supporting documentation. The authors make no claims *
15  * about the suitability of this software for any purpose. It is *
16  * provided "as is" without express or implied warranty. *
17  **************************************************************************/
18 
19 /* $Id$ */
20 
21 #include "TROOT.h"
22 #include "TVector.h"
23 #include "TVector2.h"
24 #include "TSystem.h"
25 #include "TProfile.h"
26 #include <vector>
27 
28 #include "AliAnalysisTaskSE.h"
29 #include "AliAODEvent.h"
30 #include "AliPID.h"
32 #include "TF1.h"
33 
35 
36 class THnSparse;
37 class TH1F;
38 class TClonesArray;
40 class AliESDVertex;
41 class AliAODMCParticle;
42 class AliEventPoolManager;
43 class AliEventplane;
45 class TLorentzVector;
46 
48 {
49  public:
53 
55  virtual void UserCreateOutputObjects();
56  virtual void Init();
57  virtual void LocalInit() {Init();}
58  virtual void UserExec(Option_t *option);
59  virtual void Terminate(Option_t *option);
60 
61  void FillROOTObjects(AliAODRecoCascadeHF *elobj, AliAODcascade *casc, AliAODTrack *trk, AliAODTrack *trkpid, AliAODEvent *event, TClonesArray *mcArray);
62  void FillMixROOTObjects(TLorentzVector *et, TLorentzVector *ev, TVector *tinfo, TVector *vinfo, Int_t charge);
63  void FillElectronROOTObjects(AliAODTrack *trk, AliAODEvent *event, TClonesArray *mcArray);
64  void FillCascROOTObjects(AliAODcascade *casc, AliAODEvent *event, TClonesArray *mcArray);
65  void FillMCROOTObjects(AliAODMCParticle *part, AliAODMCParticle *mcepart, AliAODMCParticle *mcv0part, Int_t decaytype,TClonesArray *mcArray);
66  void FillMCEleROOTObjects(AliAODMCParticle *mcepart, TClonesArray *mcArray);
67  void FillMCCascROOTObjects(AliAODMCParticle *mccpart, TClonesArray *mcArray);
68  void FillMCGenPairROOTObjects(AliAODMCParticle *mcparte, AliAODMCParticle* mcpartv, TClonesArray *mcArray);
69  Bool_t MakeMCAnalysis(TClonesArray *mcArray);
70  void MakeAnalysis(AliAODEvent *aod, TClonesArray *mcArray);
71 
72  void SelectCascade( const AliVEvent *event,Int_t nCasc,Int_t &nSeleCasc, Bool_t *seleCascFlags, TClonesArray *mcArray);
73  void SelectTrack( const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks,Bool_t *seleFlags, TClonesArray *mcArray);
74 
76  void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
77  Bool_t GetMC() const {return fUseMCInfo;}
78  void SetUseCentralityV0M(Bool_t centon) {fUseCentralityV0M = centon;}
82  void SetUseEventPlane(Int_t rpon) {fUseEventPlane = rpon;}
88  void SetMCEventType(Int_t theevt) {fMCEventType = theevt;}
89  Int_t GetMCEventType() const {return fMCEventType;}
92 
94  Float_t GetEventPlaneForCandidate(AliAODTrack* d, AliAODcascade *v0, AliEventplane *pl,TVector2* q,TVector2* qsub1,TVector2* qsub2);
95 
97 
98  AliAODRecoCascadeHF* MakeCascadeHF(AliAODcascade *casc, AliAODTrack *trk, AliAODTrack *trkpid, AliAODEvent *aod, AliAODVertex *vert);
99  AliAODVertex* ReconstructSecondaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod);
100  Int_t MatchToMC(AliAODRecoCascadeHF *elobj, TClonesArray *mcArray, Int_t *pdgarray_ele, Int_t *pdgarray_casc, Int_t *labelarray_ele, Int_t *labelarray_casc, Int_t &ngen_ele, Int_t &ngen_casc);
101  Int_t MatchToMCCascade(AliAODcascade *theCascade, Int_t pdgabscasc, Int_t *pdgDgcasc, Int_t *pdgDgv0, TClonesArray *mcArray) const;
102  void GetMCDecayHistory(AliAODMCParticle *mcpart, TClonesArray *mcArray, Int_t *pdgarray, Int_t *labelarray, Int_t &ngen);
103 
104  void StoreGlobalTrackReference(AliAODTrack *track, Int_t id);
106 
107  // multiplicity dep analysis
108  void SetMultiplVsZProfileLHC10b(TProfile* hprof){
109  if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
110  fMultEstimatorAvg[0]=new TProfile(*hprof);
111  }
112  void SetMultiplVsZProfileLHC10c(TProfile* hprof){
113  if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
114  fMultEstimatorAvg[1]=new TProfile(*hprof);
115  }
116  void SetMultiplVsZProfileLHC10d(TProfile* hprof){
117  if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
118  fMultEstimatorAvg[2]=new TProfile(*hprof);
119  }
120  void SetMultiplVsZProfileLHC10e(TProfile* hprof){
121  if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
122  fMultEstimatorAvg[3]=new TProfile(*hprof);
123  }
124 
126 
132  void SetPoolPVzBinLimits(Int_t Nzvtxbins,const Double_t *ZvtxBins){
133  fNzVtxBins = Nzvtxbins;
134  for(int ix = 0;ix<fNzVtxBins+1;ix++){fZvtxBins[ix] = ZvtxBins[ix];}
135  }
136  void SetPoolCentBinLimits(Int_t Ncentbins,const Double_t *CentBins){
137  fNCentBins = Ncentbins;
138  for(int ix = 0;ix<fNCentBins+1;ix++){fCentBins[ix] = CentBins[ix];}
139  }
140  void SetPoolRPBinLimits(Int_t Nrpbins,const Double_t *RPBins){
141  fNRPBins = Nrpbins;
142  for(int ix = 0;ix<fNRPBins+1;ix++){fRPBins[ix] = RPBins[ix];}
143  }
144  void DoEventMixingWithPools(Int_t index);
145  void FillBackground(std::vector<TLorentzVector * > mixTypeE,std::vector<TVector * > mixTypeEVars, std::vector<TLorentzVector * > mixTypeL, std::vector<TVector * > mixTypeLVars, Int_t chargexi);
146  Int_t GetPoolIndex(Double_t zvert, Double_t mult, Double_t rp);
147  void SetFunction(TF1* weightfit){fWeightFit=weightfit;}
148  void SetFunction13(TF1* weightfit13){fWeightFit13=weightfit13;}
149  void SetFunctionElectron(TF1 * AccWeight){fAccWeight= AccWeight;}
150  void SetFunctionPositron(TF1* AccWeightPositron){fAccWeightPositron = AccWeightPositron;}
151 
152  private:
153 
156 
157  void DefineTreeVariables();
158  void DefineEleTreeVariables();
161  void DefineMCTreeVariables();
168  Bool_t HaveCharmInHistory(Int_t *history);
169  Bool_t HaveBottomInHistory(Int_t *history);
171 
172  AliAODVertex *CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *evt);
173  AliAODVertex* PrimaryVertex(const TObjArray *trkArray,AliVEvent *event);
174  TProfile* GetEstimatorHistogram(const AliVEvent *event);
175 
180  TH1F *fCEvents;
181  TH1F *fHTrigger;
182  TH1F *fHCentrality;
183  TH1F *fHEventPlane;
186  AliRDHFCutsXictoeleXifromAODtracks *fAnalCuts;// Cuts - sent to output slot 2
215  AliAODVertex *fVtx1;
216  AliESDVertex *fV1;
219  TVector2 *fQ;
220  TVector2 *fQSub1;
221  TVector2 *fQSub2;
232 
233  //--------------------- My histograms ------------------
234  THnSparse* fHistoEleXiMass;
235  THnSparse* fHistoEleXiMassRS;
236  THnSparse* fHistoEleXiMassWS;
237  THnSparse* fHistoEleXiMassRSMix;
238  THnSparse* fHistoEleXiMassWSMix;
241  THnSparse* fHistoEleXiMassRS1;
242  THnSparse* fHistoEleXiMassWS1;
247  THnSparse* fHistoEleXiMassRS2;
248  THnSparse* fHistoEleXiMassWS2;
253  THnSparse* fHistoEleXiMassAway;
272 
295  THnSparse* fHistoEleXiMassMCS;
296  THnSparse* fHistoEleXiMassMCS1;
297  THnSparse* fHistoEleXiMassMCS2;
307  THnSparse* fHistoEleXiMassMCGen;
316 
317  THnSparse* fHistoElePtvsEtaRS;
318  THnSparse* fHistoElePtvsEtaWS;
321  THnSparse* fHistoElePtvsEtaMCS;
323 
324  THnSparse* fHistoElePtvsXiPtRS;
325  THnSparse* fHistoElePtvsXiPtWS;
328  THnSparse* fHistoElePtvsXiPtMCS;
333 
334  THnSparse* fHistoElePtvsd0RS;
335  THnSparse* fHistoElePtvsd0WS;
336  THnSparse* fHistoElePtvsd0RSMix;
337  THnSparse* fHistoElePtvsd0WSMix;
338  THnSparse* fHistoElePtvsd0MCS;
341 
342  TH1F* fHistoBachPt;
345  TH1F* fHistod0Bach;
361  THnSparse* fHistoElePtvsCutVarsRS[23];
362  THnSparse* fHistoElePtvsCutVarsWS[23];
363  THnSparse* fHistoElePtvsCutVarsMCS[23];
366  THnSparse* fHistoXicMCGen;
367  THnSparse* fHistoXicMCGen1;
368  THnSparse* fHistoXicMCGen2;
369  THnSparse* fHistoXicMCS;
370  THnSparse* fHistoXicMCS1;
371  THnSparse* fHistoXicMCS2;
372  THnSparse* fHistoXibMCGen;
374  THnSparse* fHistoXibMCS;
378  THnSparse* fHistoXicElectronMCS;
381  THnSparse* fHistoElectronMCGen;
384  THnSparse* fHistoXiMCGen;
385 
392 
396 
406 
416 
419 
421  TH2D *fHistoResponseEleXiPtWeight; // weight of the response funtion
422  TH2D *fHistoResponseEleXiPtWeight13; // weight of the response funtion
423 
428 
431  THnSparse* fHistoElectronPi0Tag;
434  THnSparse* fHistoElectronEtaTag;
437 
438 
447 
448  //Multiplicity dep analysis
449  TProfile* fMultEstimatorAvg[4];
451 
452  // Store pointers to global tracks for pid and dca
453  AliAODTrack **fGTI;
468 
469  TF1 * fWeightFit; // for 5 TeV
470  TF1 * fWeightFit13; // for 13 TeV
471  TF1 * fAccWeight;//
473 
474  THnSparse *fHistoElectronTotal;
476  THnSparse *fHistoPositronTotal;
478 
479 
483  THnSparse *fHistoXicPromptMCS;
485 
488  THnSparse *fHistoXicMCSWeight;
490 
491 
492  //Mixing
497  Double_t fZvtxBins[100]; // [fNzVtxBinsDim]
499  Double_t fCentBins[100]; // [fNCentBinsDim]
501  Double_t fRPBins[100]; // [fRPBinsDim]
504  std::vector<Int_t> nextResVec;
505  std::vector<Bool_t> reservoirsReady;
506  std::vector<std::vector< std::vector< TLorentzVector * > > > m_ReservoirE;
507  std::vector<std::vector< std::vector< TLorentzVector * > > > m_ReservoirL1;
508  std::vector<std::vector< std::vector< TLorentzVector * > > > m_ReservoirL2;
509  std::vector<std::vector< std::vector< TVector * > > > m_ReservoirVarsE;
510  std::vector<std::vector< std::vector< TVector * > > > m_ReservoirVarsL1;
511  std::vector<std::vector< std::vector< TVector * > > > m_ReservoirVarsL2;
512 
515 };
517 #endif
518 
Int_t charge
void SetPoolRPBinLimits(Int_t Nrpbins, const Double_t *RPBins)
THnSparse * fHistoCorrelationVariablesvsXiPtMix
! THnSparse of Correlation variablesa (Mix)
THnSparse * fHistoEleXiMassvsElePtWS2
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoCorrelationVariablesvsXiPtMC
! THnSparse of Correlation variablesa (MC)
THnSparse * fHistoElectronTotal
! pt, eta, phi distribution for electron
TH2F * fHNTrackletCorrvsZ
! Histogram to check N tracklet vs Z
TH2F * fHistoLambdaPtvsDl
! Lambda proper life time distribution
THnSparse * fHistoElePtvsXiPtMCGen
! e-Xi spectra efficiency denominator
THnSparse * fHistoEleXiMassBFeeddownMCS1
! e-Xi mass spectra (Efficiency numerator)
THnSparse * fHistoEleXiMassRSMixAway
! e-Xi mass spectra (right-sign)
Bool_t fMCDoPairAnalysis
MC eventtype to analyze 1: ccbar 2: bbbar.
TH1F * fHistoBachPtMCGen
! Bachelor pT histogram (efficiency denominator)
TH2D * fHistoResponseEleXiPt
! Response function e-Xi pT <- XicPt
double Double_t
Definition: External.C:58
THnSparse * fHistoCorrelationVariablesvsElePtMC
! THnSparse of Correlation variablesa (MC)
THnSparse * fHistoElePtvsd0RS
! e pt-d0 spectra (right-sign)
THnSparse * fHistoEleXiMassWSMix2
! e-Xi mass spectra (wrong-sign)
TH2F * fHistoElectronTPCPIDSelTOFEtaDep[8]
! TPC electron PID after TOF 3 sigma cut Eta dep
void FillElectronROOTObjects(AliAODTrack *trk, AliAODEvent *event, TClonesArray *mcArray)
Float_t * fCorrelationVariables
! Correlation variables to be written to the tree
THnSparse * fHistoCorrelationVariablesvsElePt
! THnSparse of Correlation variablesa (FG)
Definition: External.C:236
THnSparse * fHistoEleXiMassWSSideAway
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassRSMix1
! e-Xi mass spectra (right-sign)
Bool_t fWriteMCVariableTree
flag to decide whether to write the candidate variables on a tree variables
Int_t MatchToMCCascade(AliAODcascade *theCascade, Int_t pdgabscasc, Int_t *pdgDgcasc, Int_t *pdgDgv0, TClonesArray *mcArray) const
Float_t * fCandidateCascVariables
! variables to be written to the tree
AliAnalysisTaskSEXic2eleXifromAODtracks & operator=(const AliAnalysisTaskSEXic2eleXifromAODtracks &source)
THnSparse * fHistoEleXiMassvsElePtRSSide1
! e-Xi mass-ept spectra (right-sign)
TH2D * fHistoResponseEleXiPtXib
! Response function Xi pT <- True ept
std::vector< std::vector< std::vector< TLorentzVector * > > > m_ReservoirL1
! reservoir
THnSparse * fHistoEleXiMassRSAway
! e-Xi mass spectra (right-sign)
TH2F * fHistoLambdaPtvsDR
! Lambda decay length distribution
THnSparse * fHistoEleXiMassRSMix2
! e-Xi mass spectra (right-sign)
THnSparse * fHistoElePtvsXiPtRSMix
! e-Xi spectra (right-sign, mix)
THnSparse * fHistoEleXiMassMCS2
! e-Xi mass spectra (Efficiency numerator)
void FillBackground(std::vector< TLorentzVector * > mixTypeE, std::vector< TVector * > mixTypeEVars, std::vector< TLorentzVector * > mixTypeL, std::vector< TVector * > mixTypeLVars, Int_t chargexi)
TH2D * fHistodPhiSdEtaSElectronProtonR125RSMix
! dPhiS vs dEtaS R125 RS Mix
TTree * fSingleVariablesTree
! tree of the candidate variables after track selection on output slot 4
THnSparse * fHistoCorrelationVariablesvsElePtMix
! THnSparse of Correlation variablesa (Mix)
void FillCascROOTObjects(AliAODcascade *casc, AliAODEvent *event, TClonesArray *mcArray)
Float_t * fCandidateMCVariables
! variables to be written to the tree
TH2D * fHistoResponseXiPtXib
! Response function Xi pT <- True ept
THnSparse * fHistoCharmElectronMCGen
! electron in mcArray (only from charmed baryon)
void SelectTrack(const AliVEvent *event, Int_t trkEntries, Int_t &nSeleTrks, Bool_t *seleFlags, TClonesArray *mcArray)
THnSparse * fHistoElePtvsCutVarsRS[23]
! e pt- cut variables (Right-sign)
THnSparse * fHistoEleXiMassRSSideAway
! e-Xi mass spectra (right-sign)
void FillMCEleROOTObjects(AliAODMCParticle *mcepart, TClonesArray *mcArray)
TList * fOutputAll
! User Output slot 3 //analysis histograms
char Char_t
Definition: External.C:18
THnSparse * fHistoElePtvsd0MCS
! e pt-d0 spectra (right-sign)
TH2F * fHistoLambdaPtvsDRMCS
! Lambda decay length distribution (mc)
THnSparse * fHistoEleXiMassvsElePtRS2
! e-Xi mass spectra (right-sign)
THnSparse * fHistoElePtvsd0PromptMCS
! e pt-d0 spectra (right-sign)
TH2D * fHistodPhiSdEtaSElectronBachelorR125WSMix
! dPhiS vs dEtaS R125 WS Mix
THnSparse * fHistoElePtvsXiPtvsXicPtMCS
! e-Xi spectra efficiency numerator
THnSparse * fHistoEleXiMassWSSide
! e-Xi mass spectra (wrong-sign)
TTree * fMCCascVariablesTree
! tree of the candidate variables after track selection on output slot 4
void FillROOTObjects(AliAODRecoCascadeHF *elobj, AliAODcascade *casc, AliAODTrack *trk, AliAODTrack *trkpid, AliAODEvent *event, TClonesArray *mcArray)
THnSparse * fHistoEleXiMassWSMixAway
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassvsElePtMCGen
! e-Xi mass-ept spectra (Efficiency denominator)
THnSparse * fHistoElectronMCGen
! electron in mcArray (only from charmed baryon)
THnSparse * fHistoEleXiMassvsElePtRS
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassvsElePtMCS1
! e-Xi mass-ept spectra (Efficiency numerator)
TH2D * fHistodPhiSdEtaSElectronPionR125RSMix
! dPhiS vs dEtaS R125 RS Mix
THnSparse * fHistoEleXiMassRS
! e-Xi mass spectra (right-sign)
THnSparse * fHistoElePtvsEtaWSMix
! e spectra (wrong-sign, mix)
Double_t fRPBins[100]
number of reaction plane bins
THnSparse * fHistoEleXiMassvsElePtRSMix2
! e-Xi mass-ept spectra (right-sign)
Int_t MatchToMC(AliAODRecoCascadeHF *elobj, TClonesArray *mcArray, Int_t *pdgarray_ele, Int_t *pdgarray_casc, Int_t *labelarray_ele, Int_t *labelarray_casc, Int_t &ngen_ele, Int_t &ngen_casc)
THnSparse * fHistoElePtvsXiPtWSMix
! e-Xi spectra (wrong-sign, mix)
TTree * fCascVariablesTree
! tree of the candidate variables after track selection on output slot 4
THnSparse * fHistoEleXiMassvsElePtWSMix2
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoCorrelationVariablesvsXiPt
! THnSparse of Correlation variablesa (FG)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
THnSparse * fHistoMassVariablesvsEleXiPtMix
! THnSparse of Correlation variablesa (Mix)
THnSparse * fHistoElectronEtaTotal
! Number of electrons from eta
THnSparse * fHistoElePtvsd0WS
! e pt-d0 spectra (wrong-sign)
Float_t * fCandidateEleVariables
! variables to be written to the tree
TTree * fMCEleVariablesTree
! tree of the candidate variables after track selection on output slot 4
THnSparse * fHistoElectronPi0Total
! Number of electrons from pi0
THnSparse * fHistoEleXiMassvsElePtWSSide
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoEleXiMassPromptMCS1
! e-Xi mass spectra (Efficiency numerator)
void FillMCROOTObjects(AliAODMCParticle *part, AliAODMCParticle *mcepart, AliAODMCParticle *mcv0part, Int_t decaytype, TClonesArray *mcArray)
TH2F * fHNTrackletvsZ
! Histogram to check N tracklet vs Z
Double_t fRefMult
TProfile with mult vs. Z per period.
THnSparse * fHistoElePtvsEtaMCGen
! e spectra efficiency denominator
THnSparse * fHistoEleXiMassMCGen
! e-Xi mass spectra (Efficiency denominator)
THnSparse * fHistoMassVariablesvsElePt
! THnSparse of Correlation variablesa (FG)
THnSparse * fHistoElePtvsEtaMCS
! e spectra efficiency numerator
TTree * fMCVariablesTree
! tree of the candidate variables after track selection on output slot 4
THnSparse * fHistoElePtvsXiPtMCS
! e-Xi spectra efficiency numerator
THnSparse * fHistoEleXiMassWS
! e-Xi mass spectra (wrong-sign)
TH2F * fHistoElectronTOFPIDSelTPC
! TOF electron PID after TPC cut
THnSparse * fHistoElePtvsCutVarsWS[23]
! e pt- cut variables (Wrong-sign)
THnSparse * fHistoEleXiMassXibMCS2
! e-Xi mass spectra (Efficiency numerator)
TH2D * fHistodPhiSdEtaSElectronProtonR125WSMix
! dPhiS vs dEtaS R125 WS Mix
THnSparse * fHistoEleXiMassPromptMCS
! e-Xi mass spectra (Efficiency numerator)
TH1F * fHistoBachPtMCS
! Bachelor pT histogram (efficiency numerator)
void MakeAnalysis(AliAODEvent *aod, TClonesArray *mcArray)
void SetPoolCentBinLimits(Int_t Ncentbins, const Double_t *CentBins)
AliAODVertex * PrimaryVertex(const TObjArray *trkArray, AliVEvent *event)
THnSparse * fHistoEleXiMassRSSide2
! e-Xi mass spectra (right-sign)
std::vector< std::vector< std::vector< TVector * > > > m_ReservoirVarsE
! reservoir
TH2F * fHistoLambdaPtvsDlMCS
! Lambda proper life time distribution (mc)
THnSparse * fHistoEleXiMassvsElePtMCS
! e-Xi mass-ept spectra (Efficiency numerator)
THnSparse * fHistoMassVariablesvsXiPtMix
! THnSparse of Correlation variablesa (Mix)
THnSparse * fHistoEleXiMassvsElePtMCS2
! e-Xi mass-ept spectra (Efficiency numerator)
int Int_t
Definition: External.C:63
void FillMCCascROOTObjects(AliAODMCParticle *mccpart, TClonesArray *mcArray)
void FillMCGenPairROOTObjects(AliAODMCParticle *mcparte, AliAODMCParticle *mcpartv, TClonesArray *mcArray)
THnSparse * fHistoElePtvsCutVarsMCS[23]
! e pt- cut variables (MCS)
THnSparse * fHistoXiMCGen
! Xi in mcArray (only from charmed baryon)
std::vector< std::vector< std::vector< TVector * > > > m_ReservoirVarsL2
! reservoir
THnSparse * fHistoBottomElectronMCGen
! electron in mcArray (only from charmed baryon)
float Float_t
Definition: External.C:68
THnSparse * fHistoElePtvsXiPtRS
! e-Xi spectra (right-sign)
const UShort_t fTrackBuffSize
Array of integers to keep the index of tpc only track.
THnSparse * fHistoEleXiMassvsElePtRSMix1
! e-Xi mass-ept spectra (right-sign)
THnSparse * fHistoEleXiMassvsElePtWSMix1
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoCorrelationVariablesvsEleXiPtMC
! THnSparse of Correlation variablesa (MC)
THnSparse * fHistoEleXiMassvsElePtMCGen1
! e-Xi mass-ept spectra (Efficiency denominator)
TH2F * fHistoElePtMCS
! e spectra (Efficiency numerator)
THnSparse * fHistoEleXiMassWSMix1Away
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoCorrelationVariablesvsEleXiPtMix
! THnSparse of Correlation variablesa (Mix)
TH2F * fHistoElectronTOFSelPID
! TOF electron PID after selection
THnSparse * fHistoMassVariablesvsXiPtMC
! THnSparse of Correlation variablesa (MC)
Float_t * fCandidateMCCascVariables
! variables to be written to the tree
Definition: External.C:228
Float_t * fCandidateMCGenPairVariables
! variables to be written to the tree
THnSparse * fHistoMassVariablesvsXiPt
! THnSparse of Correlation variablesa (FG)
Float_t * fCandidateMCEleVariables
! variables to be written to the tree
THnSparse * fHistoEleXiMassMCS
! e-Xi mass spectra (Efficiency numerator)
THnSparse * fHistoPositronTotal
! pt, eta, phi distribution for positron
TTree * fEleVariablesTree
flag to decide whether to write the candidate variables on a tree variables
TH1F * fCEvents
! Histogram to check selected events
TH2F * fHistoElectronTPCPIDSelTOFSmallEta
! TPC electron PID after TOF 3 sigma cut (|eta|<0.6)
Int_t fEvNumberCounter
Stores trigger information (0: Not use, 1: V0, 2: V0A, 3: V0C, 4: TPC)
THnSparse * fHistoEleXiMassPromptMCS2
! e-Xi mass spectra (Efficiency numerator)
THnSparse * fHistoElePtvsd0WSMix
! e pt-d0 spectra (wrong-sign, mix)
TH2F * fHistoElectronTPCPIDSelTOF
! TPC electron PID after TOF 3 sigma cut
void SetPoolPVzBinLimits(Int_t Nzvtxbins, const Double_t *ZvtxBins)
std::vector< std::vector< std::vector< TLorentzVector * > > > m_ReservoirL2
! reservoir
THnSparse * fHistoMassVariablesvsEleXiPtMC
! THnSparse of Correlation variablesa (MC)
TH2D * fHistoResponseXiPt
! Response function Xi pT <- True Xic pt
THnSparse * fHistoEleXiMassvsElePtWSSide2
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoMassVariablesvsEleXiPt
! THnSparse of Correlation variablesa (FG)
AliNormalizationCounter * fCounter
! Counter for normalization
THnSparse * fHistoMassVariablesvsElePtMix
! THnSparse of Correlation variablesa (Mix)
Int_t fNzVtxBins
maximum number of events to be used in event mixing
THnSparse * fHistoEleXiMassWSAway
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassRSSide
! e-Xi mass spectra (right-sign)
THnSparse * fHistoElectronEtaTag
! Number of electrons from eta and have partner
THnSparse * fHistoEleXiMassXibMCS
! e-Xi mass spectra (Efficiency numerator)
TH2F * fHistoElePtMCGen
! e spectra (Efficiency denominator)
THnSparse * fHistoEleXiMassvsElePtMCGen2
! e-Xi mass-ept spectra (Efficiency denominator)
std::vector< Bool_t > reservoirsReady
Vector storing next reservoir ID.
THnSparse * fHistoElePtvsd0RSMix
! e pt-d0 spectra (right-sign, mix)
THnSparse * fHistoEleXiMassRS2
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassWSMix1
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoElePtvsXiPtWS
! e-Xi spectra (wrong-sign)
AliAODVertex * ReconstructSecondaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *aod)
THnSparse * fHistoEleXiMassBFeeddownMCS2
! e-Xi mass spectra (Efficiency numerator)
AliAODVertex * CallPrimaryVertex(AliAODcascade *casc, AliAODTrack *trk, AliAODEvent *evt)
THnSparse * fHistoEleXiMassvsElePtWS1
! e-Xi mass spectra (wrong-sign)
TH2D * fHistoResponseMcGenXibPtvsXicPt
! Response function Xi-c pT <- Xi-b pT
TH2F * fHistoElectronTPCPIDSelTOFLargeEta
! TPC electron PID after TOF 3 sigma cut (0.8>|eta|>0.6)
THnSparse * fHistoElectronPi0Tag
! Number of electrons from pi0 and have partner
THnSparse * fHistoEleXiMassvsElePtWSMix
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoEleXiMassRS1Away
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassMCS1
! e-Xi mass spectra (Efficiency numerator)
Bool_t fIsMB
Reconstruct primary vertex excluding candidate tracks.
THnSparse * fHistoEleXiMassRSMix2Away
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassWS1Away
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoElePtvsEtaRSMix
! e spectra (right-sign, mix)
TTree * fMCGenPairVariablesTree
! tree of mcArray analysis pair tree
THnSparse * fHistoEleXiMassvsElePtRSMix
! e-Xi mass-ept spectra (right-sign)
AliAODTrack ** fGTI
refrence multiplcity (period b)
THnSparse * fHistoEleXiMassWSMix2Away
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassWSSide1Away
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassRSSide2Away
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassWSSide1
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassWS2
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoElePtvsd0BFeeddownMCS
! e pt-d0 spectra (right-sign)
THnSparse * fHistoEleXiMassBFeeddownMCS
! e-Xi mass spectra (Efficiency numerator)
Float_t GetEventPlaneForCandidate(AliAODTrack *d, AliAODcascade *v0, AliEventplane *pl, TVector2 *q, TVector2 *qsub1, TVector2 *qsub2)
THnSparse * fHistoEleXiMassvsElePtRSSide2
! e-Xi mass-ept spectra (right-sign)
THnSparse * fHistoEleXiMassWS1
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassWSSide2
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassvsElePtRS1
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassvsElePtRSSide
! e-Xi mass-ept spectra (right-sign)
unsigned short UShort_t
Definition: External.C:28
Int_t * fGTIndex
Array of pointers, just nicely sorted according to the id.
Int_t GetPoolIndex(Double_t zvert, Double_t mult, Double_t rp)
TTree * fCorrelationVariablesTree
! Correlation variable tree under histo object list
const char Option_t
Definition: External.C:48
THnSparse * fHistoEleXiMassXibMCS1
! e-Xi mass spectra (Efficiency numerator)
THnSparse * fHistoMassVariablesvsElePtMC
! THnSparse of Correlation variablesa (MC)
void SelectCascade(const AliVEvent *event, Int_t nCasc, Int_t &nSeleCasc, Bool_t *seleCascFlags, TClonesArray *mcArray)
THnSparse * fHistoCorrelationVariablesvsEleXiPt
! THnSparse of Correlation variablesa (FG)
bool Bool_t
Definition: External.C:53
THnSparse * fHistoEleXiMassWS2Away
! e-Xi mass spectra (wrong-sign)
std::vector< std::vector< std::vector< TVector * > > > m_ReservoirVarsL1
! reservoir
THnSparse * fHistoEleXiMassRSMix1Away
! e-Xi mass spectra (right-sign)
TH2F * fHistoElectronTPCSelPID
! TPC electron PID after selection
TH2F * fHistoLambdaPtvsDRSide
! Lambda decay length distribution (sideband)
void GetMCDecayHistory(AliAODMCParticle *mcpart, TClonesArray *mcArray, Int_t *pdgarray, Int_t *labelarray, Int_t &ngen)
THnSparse * fHistoEleXiMassWSSide2Away
! e-Xi mass spectra (wrong-sign)
THnSparse * fHistoEleXiMassRS2Away
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassRSSide1
! e-Xi mass spectra (right-sign)
THnSparse * fHistoEleXiMassRSSide1Away
! e-Xi mass spectra (right-sign)
Float_t * fCandidateSingleVariables
! variables to be written to the tree
TH2D * fHistoResponseXiPtvsEleXiPt
! Response function Xi pT <- e-Xi pT
THnSparse * fHistoEleXiMassRSMix
! e-Xi mass spectra (right-sign)
TH2D * fHistodPhiSdEtaSElectronProtonR125RS
Size of the above array, ~12000 for PbPb.
THnSparse * fHistoEleXiMassvsElePtWSSide1
! e-Xi mass-ept spectra (wrong-sign)
THnSparse * fHistoEleXiMassvsElePtWS
! e-Xi mass spectra (wrong-sign)
void FillMixROOTObjects(TLorentzVector *et, TLorentzVector *ev, TVector *tinfo, TVector *vinfo, Int_t charge)
THnSparse * fHistoEleXiMassWSMix
! e-Xi mass spectra (wrong-sign)
AliAODRecoCascadeHF * MakeCascadeHF(AliAODcascade *casc, AliAODTrack *trk, AliAODTrack *trkpid, AliAODEvent *aod, AliAODVertex *vert)
TH2D * fHistoResponseElePt
! Response function electron pT <- True ept
std::vector< std::vector< std::vector< TLorentzVector * > > > m_ReservoirE
Vector storing if the reservoirs are ready.
THnSparse * fHistoElePtvsXiPtMCXicGen
! e-Xi spectra efficiency denominator
THnSparse * fHistoEleXiMassRS1
! e-Xi mass spectra (right-sign)
TH2D * fHistodPhiSdEtaSElectronBachelorR125RSMix
! dPhiS vs dEtaS R125 RS Mix
THnSparse * fHistoElePtvsXiPtvsXicPtMCGen
! e-Xi spectra efficiency numerator
TH2F * fHistoLambdaPtvsDlSide
! Lambda proper life time distribution (sideband)
TH2D * fHistodPhiSdEtaSElectronPionR125WSMix
! dPhiS vs dEtaS R125 WS Mix
TTree * fVariablesTree
flag to decide whether to write the candidate variables on a tree variables