void CheckChargeV0(AliESDv0 *thisv0);
void SetIsNuclear (Bool_t lIsNuclear = kTRUE ) { fkIsNuclear = lIsNuclear; }
- void SetIsLowEnergyPP (Bool_t lLowEnergyPP = kTRUE ) { fkLowEnergyPP = lLowEnergyPP; }
+ void SetINT7Trigger (Bool_t lSwitchINT7 = kTRUE ) { fkSwitchINT7 = lSwitchINT7; }
void SetUseOnTheFly (Bool_t lUseOnTheFly = kTRUE ) { fkUseOnTheFly = lUseOnTheFly; }
+ void SetTakeAllTracks (Bool_t lTakeAllTracks = kTRUE ) { fkTakeAllTracks = lTakeAllTracks; }
+ void SetpARapidityShift (Double_t lRapShift = 0.465 ) { fpArapidityShift = lRapShift; }
private:
// Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
// your data member object is created on the worker nodes and streaming is not needed.
// http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
TList *fListHistV0; //! List of Cascade histograms
- TTree *fTree; //! Output Tree
+ TTree *fTree; //! Output Tree, V0
AliPIDResponse *fPIDResponse; // PID response object
+ AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
+ Double_t fpArapidityShift; //pA rapidity shift (should be 0.465, usually)
//Objects Controlling Task Behaviour
Bool_t fkIsNuclear; //if true, replace multiplicity est. by centrality (default FALSE)
- Bool_t fkLowEnergyPP; //if true, skip FASTOnly (default FALSE)
+ Bool_t fkSwitchINT7 ; //if true, skip FASTOnly (default FALSE)
Bool_t fkUseOnTheFly; //if true, will use On-the-fly V0s instead of Offline V0s (default FALSE)
+ Bool_t fkTakeAllTracks; // if true, no TPC crossed rows and ratio cut
- //Variables for Tree
+//===========================================================================================
+// Variables for Tree, V0s
+//===========================================================================================
Int_t fTreeVariablePrimaryStatus; //!
Int_t fTreeVariablePrimaryStatusMother; //!
Float_t fTreeVariableChi2V0; //!
Int_t fTreeVariableIndexStatus; //!
Int_t fTreeVariableIndexStatusMother; //!
+ Int_t fTreeVariableRunNumber; //!
+ ULong64_t fTreeVariableEventNumber; //!
+
//Note: TDistOverTotMom needs a mass hypothesis to be converted to proper decaylength.
Float_t fTreeVariableDistOverTotMom;//!
Float_t fTreeVariablePosEta; //!
Float_t fTreeVariableNegEta; //!
+ Float_t fTreeVariableVertexZ; //!
+
Int_t fTreeVariableLeastNbrCrossedRows;//!
Float_t fTreeVariableLeastRatioCrossedRowsOverFindable;//!
Int_t fTreeVariableMultiplicity;//!
+ Int_t fTreeVariableMultiplicityMC;//!
+
+ Float_t fTreeVariableV0x; //!
+ Float_t fTreeVariableV0y; //!
+ Float_t fTreeVariableV0z; //!
+
+ Float_t fTreeVariableV0Px; //!
+ Float_t fTreeVariableV0Py; //!
+ Float_t fTreeVariableV0Pz; //!
+
+ Float_t fTreeVariableMCV0x; //!
+ Float_t fTreeVariableMCV0y; //!
+ Float_t fTreeVariableMCV0z; //!
+
+ Float_t fTreeVariableMCV0Px; //!
+ Float_t fTreeVariableMCV0Py; //!
+ Float_t fTreeVariableMCV0Pz; //!
+
+ Float_t fTreeVariablePVx; //!
+ Float_t fTreeVariablePVy; //!
+ Float_t fTreeVariablePVz; //!
+
+ Float_t fTreeVariableMCPVx; //!
+ Float_t fTreeVariableMCPVy; //!
+ Float_t fTreeVariableMCPVz; //!
+
+ Bool_t fTreeVariableIsNonInjected; //!
+
+//===========================================================================================
+// Histograms
+//===========================================================================================
TH1F *fHistV0MultiplicityBeforeTrigSel; //! V0 multiplicity distribution
TH1F *fHistV0MultiplicityForTrigEvt; //! V0 multiplicity distribution
TH1F *fHistMultiplicityNoTPCOnly; //! multiplicity distribution
TH1F *fHistMultiplicityNoTPCOnlyNoPileup; //! multiplicity distribution
+ //Raw Data for J/Psi paper Technique
+ TH2F *f2dHistMultiplicityVsTrueBeforeTrigSel; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsTrueForTrigEvt; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsTrue; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsTrueNoTPCOnly; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsTrueNoTPCOnlyNoPileup; //! multiplicity distribution
+
+ //Raw Data for Vertex Z position estimator change
+ TH2F *f2dHistMultiplicityVsVertexZBeforeTrigSel; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsVertexZForTrigEvt; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsVertexZ; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsVertexZNoTPCOnly; //! multiplicity distribution
+ TH2F *f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup; //! multiplicity distribution
+
+ TH1F *fHistGenVertexZBeforeTrigSel; //! multiplicity distribution
+ TH1F *fHistGenVertexZForTrigEvt; //! multiplicity distribution
+ TH1F *fHistGenVertexZ; //! multiplicity distribution
+ TH1F *fHistGenVertexZNoTPCOnly; //! multiplicity distribution
+ TH1F *fHistGenVertexZNoTPCOnlyNoPileup; //! multiplicity distribution
+
//---> Filled At Analysis Scope
TH3F *f3dHistPrimAnalysisPtVsYVsMultLambda; //! Lambda
TH3F *f3dHistPrimAnalysisPtVsYVsMultAntiLambda; //! AntiLambda
TH3F *f3dHistPrimAnalysisPtVsYVsMultK0Short; //! K0Short
+ TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultLambda; //! Lambda
+ TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda; //! AntiLambda
+ TH3F *f3dHistPrimAnalysisPtVsYCMSVsMultK0Short; //! K0Short
+
//---> Containers for monte carlo information for calculating efficiency!
TH3F *f3dHistPrimRawPtVsYVsMultLambda; //! Lambda
TH3F *f3dHistPrimRawPtVsYVsMultAntiLambda; //! AntiLambda
TH3F *f3dHistPrimRawPtVsYVsMultK0Short; //! K0Short
+ TH3F *f3dHistPrimRawPtVsYCMSVsMultLambda; //! Lambda
+ TH3F *f3dHistPrimRawPtVsYCMSVsMultAntiLambda; //! AntiLambda
+ TH3F *f3dHistPrimRawPtVsYCMSVsMultK0Short; //! K0Short
+
+ TH3F *f3dHistPrimRawPtVsYVsMultNonInjLambda; //! Non-injected Lambda
+ TH3F *f3dHistPrimRawPtVsYVsMultNonInjAntiLambda; //! Non-injected AntiLambda
+ TH3F *f3dHistPrimRawPtVsYVsMultNonInjK0Short; //! Non-injected K0Short
+
+ TH3F *f3dHistPrimRawPtVsYVsMultMCLambda; //! Lambda
+ TH3F *f3dHistPrimRawPtVsYVsMultMCAntiLambda; //! AntiLambda
+ TH3F *f3dHistPrimRawPtVsYVsMultMCK0Short; //! K0Short
+
+ TH3F *f3dHistPrimRawPtVsYVsVertexZLambda; //! Lambda
+ TH3F *f3dHistPrimRawPtVsYVsVertexZAntiLambda; //! AntiLambda
+ TH3F *f3dHistPrimRawPtVsYVsVertexZK0Short; //! K0Short
+
TH3F *f3dHistPrimCloseToPVPtVsYVsMultLambda; //! Lambda
TH3F *f3dHistPrimCloseToPVPtVsYVsMultAntiLambda; //! AntiLambda
TH3F *f3dHistPrimCloseToPVPtVsYVsMultK0Short; //! K0Short
TH3F *f3dHistGenPtVsYVsMultXiMinus; //! Generated Xi- Distrib
TH3F *f3dHistGenPtVsYVsMultXiPlus; //! Generated Xi+ Distrib
+ TH3F *f3dHistGenPtVsYVsMultOmegaMinus; //! Generated Omega- Distrib
+ TH3F *f3dHistGenPtVsYVsMultOmegaPlus; //! Generated Omega+ Distrib
+
+ TH3F *f3dHistGenSelectedPtVsYVsMultXiMinus; //! Generated Xi- Distrib, at event selection level
+ TH3F *f3dHistGenSelectedPtVsYVsMultXiPlus; //! Generated Xi+ Distrib, at event selection level
+ TH3F *f3dHistGenSelectedPtVsYVsMultOmegaMinus; //! Generated Omega- Distrib, at event selection level
+ TH3F *f3dHistGenSelectedPtVsYVsMultOmegaPlus; //! Generated Omega+ Distrib, at event selection level
TH1F *fHistPVx; //! PVx distrib
TH1F *fHistPVy; //! PVy distrib