// // AliAnalysisTaskCheckPerformanceCascadePbPb class
// // This task is for a performance study of cascade identification.
// // It works with MC info and ESD and AOD tree
-// // Origin : A.Maire Jan2010, antonin.maire@ires.in2p3.fr
+// // Origin : A.Maire Jan2010, antonin.maire@ires.in2p3.fr
// // Modified : M.Nicassio Feb2011, maria.nicassio@ba.infn.it
-// // Modified : D. Colella Feb2012, domenico.colella@ba.infn.it
+// // Modified : D.Colella Feb2012, domenico.colella@ba.infn.it
// //-----------------------------------------------------------------
class TList;
class AliPhysicsSelection;
class AliCFContainer;
class AliPIDResponse;
+class AliAnalysisUtils;
#include "AliAnalysisTaskSE.h"
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
- void SetAnalysisType (const char* analysisType = "ESD") { fAnalysisType = analysisType;}
-
- void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = 0 ) { fkRerunV0CascVertexers = rerunV0CascVertexers; }
- void SetSDDSelection (Bool_t sddOnSelection = kTRUE) { fkSDDselectionOn = sddOnSelection; }
- void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
- void SetRejectEventPileUp (Bool_t rejectPileUp = kTRUE) { fkRejectEventPileUp = rejectPileUp; }
- void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx;}
- void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
- void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
- void SetWithSDDOn (Bool_t withsddOn = kTRUE) { fwithSDD = withsddOn; }
- void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
- void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
- void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
- void SetVertexRangeMin (Float_t vtxrangemin = 0. ) { fVtxRangeMin = vtxrangemin; }
- void SetApplyAccCut (Bool_t acccut = kFALSE){ fApplyAccCut = acccut; }
- void SetMinptCutOnDaughterTracks (Float_t minptdaughtrks = 0. ) { fMinPtCutOnDaughterTracks = minptdaughtrks; }
- void SetEtaCutOnDaughterTracks (Float_t etadaughtrks = 0. ) { fEtaCutOnDaughterTracks = etadaughtrks; }
+ void SetAnalysisType (const char* analysisType = "ESD") { fAnalysisType = analysisType; }
+ void SetCollidingSystem (const char* collidingSystem = "pp" ) { fCollidingSystem = collidingSystem; }
+ void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = 0 ) { fkRerunV0CascVertexers = rerunV0CascVertexers; }
+ void SetSDDSelection (Bool_t sddOnSelection = kTRUE) { fkSDDselectionOn = sddOnSelection; }
+ void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
+ void SetRejectEventPileUp (Bool_t rejectPileUp = kTRUE) { fkRejectEventPileUp = rejectPileUp; }
+ void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx; }
+ void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
+ void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
+ void SetWithSDDOn (Bool_t withsddOn = kTRUE) { fwithSDD = withsddOn; }
+ void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
+ void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
+ void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
+ void SetVertexRangeMin (Float_t vtxrangemin = 0. ) { fVtxRangeMin = vtxrangemin; }
+ void SetApplyAccCut (Bool_t acccut = kFALSE){ fApplyAccCut = acccut; }
+ void SetMinptCutOnDaughterTracks (Float_t minptdaughtrks = 0. ) { fMinPtCutOnDaughterTracks = minptdaughtrks; }
+ void SetEtaCutOnDaughterTracks (Float_t etadaughtrks = 0. ) { fEtaCutOnDaughterTracks = etadaughtrks; }
private:
// Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
TString fAnalysisType; // "ESD" or "AOD" analysis type
AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
- //TPaveText *fPaveTextBookKeeping; // TString to store all the relevant info necessary for book keeping (v0 cuts, cascade cuts, quality cuts, ...)
+ AliAnalysisUtils *fUtils;
+ TString fCollidingSystem; // "pPb" or "pp" colliding system
+ // AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
AliPIDResponse *fPIDResponse; //! PID response object
+ // AliAnalysisUtils *fUtils;
Bool_t fkRerunV0CascVertexers; // Boolean : kTRUE = relaunch both V0 + Cascade vertexers
Bool_t fkSDDselectionOn; // Boolean : kTRUE = enable the selection based on the SDD status
Double_t fV0Sels[7]; // Array to store the 7 values for the different selections V0 related (if fkRerunV0CascVertexers)
Double_t fCascSels[8]; // Array to store the 8 values for the different selections Casc. related (if fkRerunV0CascVertexers)
- TList *fListHistCascade; //! List of Cascade histograms
+ TList *fListHistCascade; //! List of Cascade histograms
// - General Plots
// Cascade multiplicity plots
TH1F *fHistCascadeMultiplicityBeforeAnySel;
TH1F *fHistCascadeMultiplicityAfterSDDSel;
TH1F *fHistCascadeMultiplicityAfterPhysicsSel;
- TH1F *fHistCascadeMultiplicityAfterVertexCutSel;
TH1F *fHistCascadeMultiplicityForSelEvtNoTPCOnly;
TH1F *fHistCascadeMultiplicityForSelEvtNoTPCOnlyNoPileup;
+ TH1F *fHistCascadeMultiplicityAfterVertexCutSel;
TH1F *fHistnXiPlusPerEvTot; // After any event selections, in all the eta and pt range
TH1F *fHistnXiMinusPerEvTot; // After any event selections, in all the eta and pt range
TH1F *fHistnOmegaPlusPerEvTot; // After any event selections, in all the eta and pt range
// Tracks multiplicity plots
TH1F *fHistTrackMultiplicityBeforeAnySel;
TH1F *fHistTrackMultiplicityAfterSDDSel;
- TH1F * fHistTrackMultiplicityAfterPhysicsSel;
- TH1F *fHistTrackMultiplicityAfterVertexCutSel;
+ TH1F *fHistTrackMultiplicityAfterPhysicsSel;
TH1F *fHistTrackMultiplicityForSelEvtNoTPCOnly;
TH1F *fHistTrackMultiplicityForSelEvtNoTPCOnlyNoPileup;
+ TH1F *fHistTrackMultiplicityAfterVertexCutSel;
// Vertex position plots (BestVertex)
- TH1F *fHistPVx; // After SDD and Physics event selectione but before any other event selections
- TH1F *fHistPVy; // After SDD and Physics event selectione but before any other event selections
- TH1F *fHistPVz; // After SDD and Physics event selectione but before any other event selections
+ TH1F *fHistPVx; // After any selections but before |Z| < 10 cm
+ TH1F *fHistPVy; // After any selections but before |Z| < 10 cm
+ TH1F *fHistPVz; // After any selections but before |Z| < 10 cm
TH1F *fHistPVxAnalysis; // After any event selections
TH1F *fHistPVyAnalysis; // After any event selections
TH1F *fHistPVzAnalysis; // After any event selections