#include "AliAODcascade.h"
#include "AliESDUtils.h"
#include "AliGenEventHeader.h"
-
+#include "AliAnalysisTaskSE.h"
+#include "AliAnalysisUtils.h"
#include "AliAnalysisTaskExtractPerformanceV0.h"
using std::cout;
ClassImp(AliAnalysisTaskExtractPerformanceV0)
-AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0()
- : AliAnalysisTaskSE(), fListHistV0(0), fTree(0), fPIDResponse(0), fESDtrackCuts(0),
+AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0()
+ : AliAnalysisTaskSE(), fListHistV0(0), fTree(0), fPIDResponse(0), fESDtrackCuts(0), fUtils(0),
fkIsNuclear ( kFALSE ),
fkSwitchINT7 ( kFALSE ),
fkUseOnTheFly ( kFALSE ),
fkTakeAllTracks ( kFALSE ),
fpArapidityShift ( 0.465 ),
fCentralityEstimator("V0M"),
- fkLightWeight ( kFALSE ),
+ fkLightWeight ( kFALSE ),
+ fkFastOnly ( "" ),
+ fkpAVertexSelection( kFALSE ),
+ fkRunV0Vertexer( kFALSE ),
+ fkRejectPileup ( kTRUE ),
+ fkSpecialExecution ( kFALSE),
+ fkSkipTrigger(kFALSE),
+ fkSaveAssociatedOnly (kFALSE),
+ fkDoNotCallTPCdEdx( kFALSE ),
//------------------------------------------------
// Tree Variables
fTreeVariableLeastNbrCrossedRows(0),
fTreeVariableLeastRatioCrossedRowsOverFindable(0),
+
fTreeVariableMultiplicity(0),
+ fTreeVariableMultiplicityV0A(0),
+ fTreeVariableMultiplicityZNA(0),
+ fTreeVariableMultiplicityTRK(0),
+ fTreeVariableMultiplicitySPD(0),
fTreeVariableMultiplicityMC(0),
fTreeVariableV0x(0),
fTreeVariableNegTrackStatus(0),
fTreeVariablePosTrackStatus(0),
+ fTreeVariableNegPhysicalStatus(0),
+ fTreeVariablePosPhysicalStatus(0),
+
//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
fHistMultiplicityNoTPCOnly(0),
fHistMultiplicityNoTPCOnlyNoPileup(0),
+//V0A Centrality
+fHistMultiplicityV0ABeforeTrigSel(0),
+fHistMultiplicityV0AForTrigEvt(0),
+fHistMultiplicityV0A(0),
+fHistMultiplicityV0ANoTPCOnly(0),
+fHistMultiplicityV0ANoTPCOnlyNoPileup(0),
+
+//ZNA Centrality
+fHistMultiplicityZNABeforeTrigSel(0),
+fHistMultiplicityZNAForTrigEvt(0),
+fHistMultiplicityZNA(0),
+fHistMultiplicityZNANoTPCOnly(0),
+fHistMultiplicityZNANoTPCOnlyNoPileup(0),
+
+//TRK Centrality
+fHistMultiplicityTRKBeforeTrigSel(0),
+fHistMultiplicityTRKForTrigEvt(0),
+fHistMultiplicityTRK(0),
+fHistMultiplicityTRKNoTPCOnly(0),
+fHistMultiplicityTRKNoTPCOnlyNoPileup(0),
+
+//SPD Centrality
+fHistMultiplicitySPDBeforeTrigSel(0),
+fHistMultiplicitySPDForTrigEvt(0),
+fHistMultiplicitySPD(0),
+fHistMultiplicitySPDNoTPCOnly(0),
+fHistMultiplicitySPDNoTPCOnlyNoPileup(0),
+
f2dHistMultiplicityVsTrueBeforeTrigSel(0),
f2dHistMultiplicityVsTrueForTrigEvt(0),
f2dHistMultiplicityVsTrue(0),
// PARTICLE HISTOGRAMS
// --- Filled on a Particle-by-Particle basis
//------------------------------------------------
- f3dHistPrimAnalysisPtVsYVsMultLambda(0),
- f3dHistPrimAnalysisPtVsYVsMultAntiLambda(0),
- f3dHistPrimAnalysisPtVsYVsMultK0Short(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultLambda(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultK0Short(0),
- f3dHistPrimRawPtVsYVsMultLambda(0),
- f3dHistPrimRawPtVsYVsMultAntiLambda(0),
- f3dHistPrimRawPtVsYVsMultK0Short(0),
- f3dHistPrimRawPtVsYCMSVsMultLambda(0),
- f3dHistPrimRawPtVsYCMSVsMultAntiLambda(0),
- f3dHistPrimRawPtVsYCMSVsMultK0Short(0),
- f3dHistPrimRawPtVsYVsMultNonInjLambda(0),
- f3dHistPrimRawPtVsYVsMultNonInjAntiLambda(0),
- f3dHistPrimRawPtVsYVsMultNonInjK0Short(0),
- f3dHistPrimRawPtVsYVsMultMCLambda(0),
- f3dHistPrimRawPtVsYVsMultMCAntiLambda(0),
- f3dHistPrimRawPtVsYVsMultMCK0Short(0),
- f3dHistPrimRawPtVsYVsVertexZLambda(0),
- f3dHistPrimRawPtVsYVsVertexZAntiLambda(0),
- f3dHistPrimRawPtVsYVsVertexZK0Short(0),
- f3dHistPrimCloseToPVPtVsYVsMultLambda(0),
- f3dHistPrimCloseToPVPtVsYVsMultAntiLambda(0),
- f3dHistPrimCloseToPVPtVsYVsMultK0Short(0),
- f3dHistPrimRawPtVsYVsDecayLengthLambda(0),
- f3dHistPrimRawPtVsYVsDecayLengthAntiLambda(0),
- f3dHistPrimRawPtVsYVsDecayLengthK0Short(0),
- f3dHistGenPtVsYVsMultXiMinus(0),
- f3dHistGenPtVsYVsMultXiPlus(0),
- f3dHistGenPtVsYVsMultOmegaMinus(0),
- f3dHistGenPtVsYVsMultOmegaPlus(0),
- f3dHistGenSelectedPtVsYVsMultXiMinus(0),
- f3dHistGenSelectedPtVsYVsMultXiPlus(0),
- f3dHistGenSelectedPtVsYVsMultOmegaMinus(0),
- f3dHistGenSelectedPtVsYVsMultOmegaPlus(0),
- f3dHistGenPtVsYCMSVsMultXiMinus(0),
- f3dHistGenPtVsYCMSVsMultXiPlus(0),
- f3dHistGenPtVsYCMSVsMultOmegaMinus(0),
- f3dHistGenPtVsYCMSVsMultOmegaPlus(0),
- f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
- f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
- f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus(0),
- f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus(0),
- fHistPVx(0),
- fHistPVy(0),
- fHistPVz(0),
- fHistPVxAnalysis(0),
- fHistPVyAnalysis(0),
- fHistPVzAnalysis(0),
- fHistPVxAnalysisHasHighPtLambda(0),
- fHistPVyAnalysisHasHighPtLambda(0),
- fHistPVzAnalysisHasHighPtLambda(0),
- fHistSwappedV0Counter(0)
+
+//Standard V0M / multiplicity
+ f3dHistPrimAnalysisPtVsYVsMultLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultK0Short(0),
+
+ //True Multiplicity
+ f3dHistPrimAnalysisPtVsYVsMultMCLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultMCK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short(0),
+
+//V0A
+ f3dHistPrimAnalysisPtVsYVsMultV0ALambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultV0AK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short(0),
+
+//ZNA
+ f3dHistPrimAnalysisPtVsYVsMultZNALambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultZNAK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short(0),
+
+//TRK
+ f3dHistPrimAnalysisPtVsYVsMultTRKLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultTRKK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short(0),
+
+//SPD
+ f3dHistPrimAnalysisPtVsYVsMultSPDLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYVsMultSPDK0Short(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda(0),
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short(0),
+
+//Standard V0M again
+ f3dHistPrimRawPtVsYVsMultLambda(0),
+ f3dHistPrimRawPtVsYVsMultAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultK0Short(0),
+ f3dHistPrimRawPtVsYCMSVsMultLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultAntiLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultK0Short(0),
+
+//V0A again
+ f3dHistPrimRawPtVsYVsMultV0ALambda(0),
+ f3dHistPrimRawPtVsYVsMultV0AAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultV0AK0Short(0),
+ f3dHistPrimRawPtVsYCMSVsMultV0ALambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultV0AK0Short(0),
+
+//ZNA
+ f3dHistPrimRawPtVsYVsMultZNALambda(0),
+ f3dHistPrimRawPtVsYVsMultZNAAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultZNAK0Short(0),
+ f3dHistPrimRawPtVsYCMSVsMultZNALambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultZNAK0Short(0),
+
+//TRK
+ f3dHistPrimRawPtVsYVsMultTRKLambda(0),
+ f3dHistPrimRawPtVsYVsMultTRKAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultTRKK0Short(0),
+ f3dHistPrimRawPtVsYCMSVsMultTRKLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultTRKK0Short(0),
+
+//SPD
+ f3dHistPrimRawPtVsYVsMultSPDLambda(0),
+ f3dHistPrimRawPtVsYVsMultSPDAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultSPDK0Short(0),
+ f3dHistPrimRawPtVsYCMSVsMultSPDLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda(0),
+ f3dHistPrimRawPtVsYCMSVsMultSPDK0Short(0),
+
+ f3dHistPrimRawPtVsYVsMultNonInjLambda(0),
+ f3dHistPrimRawPtVsYVsMultNonInjAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultNonInjK0Short(0),
+ f3dHistPrimRawPtVsYVsMultMCLambda(0),
+ f3dHistPrimRawPtVsYVsMultMCAntiLambda(0),
+ f3dHistPrimRawPtVsYVsMultMCK0Short(0),
+ f3dHistPrimRawPtVsYVsVertexZLambda(0),
+ f3dHistPrimRawPtVsYVsVertexZAntiLambda(0),
+ f3dHistPrimRawPtVsYVsVertexZK0Short(0),
+ f3dHistPrimCloseToPVPtVsYVsMultLambda(0),
+ f3dHistPrimCloseToPVPtVsYVsMultAntiLambda(0),
+ f3dHistPrimCloseToPVPtVsYVsMultK0Short(0),
+ f3dHistPrimRawPtVsYVsDecayLengthLambda(0),
+ f3dHistPrimRawPtVsYVsDecayLengthAntiLambda(0),
+ f3dHistPrimRawPtVsYVsDecayLengthK0Short(0),
+
+//V0M
+ f3dHistGenPtVsYVsMultXiMinus(0),
+ f3dHistGenPtVsYVsMultXiPlus(0),
+ f3dHistGenSelectedPtVsYVsMultXiMinus(0),
+ f3dHistGenSelectedPtVsYVsMultXiPlus(0),
+ f3dHistGenPtVsYCMSVsMultXiMinus(0),
+ f3dHistGenPtVsYCMSVsMultXiPlus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
+
+//V0A
+ f3dHistGenPtVsYVsMultV0AXiMinus(0),
+ f3dHistGenPtVsYVsMultV0AXiPlus(0),
+ f3dHistGenSelectedPtVsYVsMultV0AXiMinus(0),
+ f3dHistGenSelectedPtVsYVsMultV0AXiPlus(0),
+ f3dHistGenPtVsYCMSVsMultV0AXiMinus(0),
+ f3dHistGenPtVsYCMSVsMultV0AXiPlus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus(0),
+
+//ZNA
+ f3dHistGenPtVsYVsMultZNAXiMinus(0),
+ f3dHistGenPtVsYVsMultZNAXiPlus(0),
+ f3dHistGenSelectedPtVsYVsMultZNAXiMinus(0),
+ f3dHistGenSelectedPtVsYVsMultZNAXiPlus(0),
+ f3dHistGenPtVsYCMSVsMultZNAXiMinus(0),
+ f3dHistGenPtVsYCMSVsMultZNAXiPlus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus(0),
+
+//TRK
+ f3dHistGenPtVsYVsMultTRKXiMinus(0),
+ f3dHistGenPtVsYVsMultTRKXiPlus(0),
+ f3dHistGenSelectedPtVsYVsMultTRKXiMinus(0),
+ f3dHistGenSelectedPtVsYVsMultTRKXiPlus(0),
+ f3dHistGenPtVsYCMSVsMultTRKXiMinus(0),
+ f3dHistGenPtVsYCMSVsMultTRKXiPlus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus(0),
+
+//SPD
+ f3dHistGenPtVsYVsMultSPDXiMinus(0),
+ f3dHistGenPtVsYVsMultSPDXiPlus(0),
+ f3dHistGenSelectedPtVsYVsMultSPDXiMinus(0),
+ f3dHistGenSelectedPtVsYVsMultSPDXiPlus(0),
+ f3dHistGenPtVsYCMSVsMultSPDXiMinus(0),
+ f3dHistGenPtVsYCMSVsMultSPDXiPlus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus(0),
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus(0),
+
+ fHistPVx(0),
+ fHistPVy(0),
+ fHistPVz(0),
+ fHistPVxAnalysis(0),
+ fHistPVyAnalysis(0),
+ fHistPVzAnalysis(0),
+ fHistPVxAnalysisHasHighPtLambda(0),
+ fHistPVyAnalysisHasHighPtLambda(0),
+ fHistPVzAnalysisHasHighPtLambda(0),
+ fHistSwappedV0Counter(0)
{
// Dummy Constructor
+ for(Int_t iV0selIdx = 0; iV0selIdx < 7; iV0selIdx++ ) { fV0Sels [iV0selIdx ] = -1.; }
}
AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0(const char *name)
- : AliAnalysisTaskSE(name), fListHistV0(0), fTree(0), fPIDResponse(0), fESDtrackCuts(0),
+ : AliAnalysisTaskSE(name), fListHistV0(0), fTree(0), fPIDResponse(0), fESDtrackCuts(0), fUtils(0),
fkIsNuclear ( kFALSE ),
fkSwitchINT7 ( kFALSE ),
fkUseOnTheFly ( kFALSE ),
fkTakeAllTracks ( kFALSE ),
fpArapidityShift ( 0.465 ),
fCentralityEstimator("V0M"),
- fkLightWeight ( kFALSE ),
+ fkLightWeight ( kFALSE ),
+ fkFastOnly ( "" ),
+ fkpAVertexSelection( kFALSE ),
+ fkRunV0Vertexer( kFALSE ),
+ fkRejectPileup ( kTRUE ),
+ fkSpecialExecution ( kFALSE),
+ fkSkipTrigger(kFALSE),
+ fkSaveAssociatedOnly (kFALSE),
+ fkDoNotCallTPCdEdx( kFALSE ),
//------------------------------------------------
// Tree Variables
fTreeVariableLeastNbrCrossedRows(0),
fTreeVariableLeastRatioCrossedRowsOverFindable(0),
fTreeVariableMultiplicity(0),
+ fTreeVariableMultiplicityV0A(0),
+ fTreeVariableMultiplicityZNA(0),
+ fTreeVariableMultiplicityTRK(0),
+ fTreeVariableMultiplicitySPD(0),
fTreeVariableMultiplicityMC(0),
fTreeVariableV0x(0),
fTreeVariableNegTrackStatus(0),
fTreeVariablePosTrackStatus(0),
+ fTreeVariableNegPhysicalStatus(0),
+ fTreeVariablePosPhysicalStatus(0),
+
//------------------------------------------------
// HISTOGRAMS
// --- Filled on an Event-by-event basis
fHistMultiplicityNoTPCOnly(0),
fHistMultiplicityNoTPCOnlyNoPileup(0),
+//V0A Centrality
+fHistMultiplicityV0ABeforeTrigSel(0),
+fHistMultiplicityV0AForTrigEvt(0),
+fHistMultiplicityV0A(0),
+fHistMultiplicityV0ANoTPCOnly(0),
+fHistMultiplicityV0ANoTPCOnlyNoPileup(0),
+
+//ZNA Centrality
+fHistMultiplicityZNABeforeTrigSel(0),
+fHistMultiplicityZNAForTrigEvt(0),
+fHistMultiplicityZNA(0),
+fHistMultiplicityZNANoTPCOnly(0),
+fHistMultiplicityZNANoTPCOnlyNoPileup(0),
+
+//TRK Centrality
+fHistMultiplicityTRKBeforeTrigSel(0),
+fHistMultiplicityTRKForTrigEvt(0),
+fHistMultiplicityTRK(0),
+fHistMultiplicityTRKNoTPCOnly(0),
+fHistMultiplicityTRKNoTPCOnlyNoPileup(0),
+
+//SPD Centrality
+fHistMultiplicitySPDBeforeTrigSel(0),
+fHistMultiplicitySPDForTrigEvt(0),
+fHistMultiplicitySPD(0),
+fHistMultiplicitySPDNoTPCOnly(0),
+fHistMultiplicitySPDNoTPCOnlyNoPileup(0),
+
f2dHistMultiplicityVsTrueBeforeTrigSel(0),
f2dHistMultiplicityVsTrueForTrigEvt(0),
f2dHistMultiplicityVsTrue(0),
// PARTICLE HISTOGRAMS
// --- Filled on a Particle-by-Particle basis
//------------------------------------------------
- f3dHistPrimAnalysisPtVsYVsMultLambda(0),
- f3dHistPrimAnalysisPtVsYVsMultAntiLambda(0),
- f3dHistPrimAnalysisPtVsYVsMultK0Short(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultLambda(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda(0),
- f3dHistPrimAnalysisPtVsYCMSVsMultK0Short(0),
- f3dHistPrimRawPtVsYVsMultLambda(0),
- f3dHistPrimRawPtVsYVsMultAntiLambda(0),
- f3dHistPrimRawPtVsYVsMultK0Short(0),
- f3dHistPrimRawPtVsYCMSVsMultLambda(0),
- f3dHistPrimRawPtVsYCMSVsMultAntiLambda(0),
- f3dHistPrimRawPtVsYCMSVsMultK0Short(0),
+
+//Standard V0M
+f3dHistPrimAnalysisPtVsYVsMultLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultK0Short(0),
+
+//True Multiplicity
+f3dHistPrimAnalysisPtVsYVsMultMCLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultMCK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short(0),
+
+//V0A
+f3dHistPrimAnalysisPtVsYVsMultV0ALambda(0),
+f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultV0AK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short(0),
+
+//ZNA
+f3dHistPrimAnalysisPtVsYVsMultZNALambda(0),
+f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultZNAK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short(0),
+
+//TRK
+f3dHistPrimAnalysisPtVsYVsMultTRKLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultTRKK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short(0),
+
+//SPD
+f3dHistPrimAnalysisPtVsYVsMultSPDLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda(0),
+f3dHistPrimAnalysisPtVsYVsMultSPDK0Short(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda(0),
+f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short(0),
+
+//Standard V0M again
+f3dHistPrimRawPtVsYVsMultLambda(0),
+f3dHistPrimRawPtVsYVsMultAntiLambda(0),
+f3dHistPrimRawPtVsYVsMultK0Short(0),
+f3dHistPrimRawPtVsYCMSVsMultLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultAntiLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultK0Short(0),
+
+//V0A again
+f3dHistPrimRawPtVsYVsMultV0ALambda(0),
+f3dHistPrimRawPtVsYVsMultV0AAntiLambda(0),
+f3dHistPrimRawPtVsYVsMultV0AK0Short(0),
+f3dHistPrimRawPtVsYCMSVsMultV0ALambda(0),
+f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultV0AK0Short(0),
+
+//ZNA
+f3dHistPrimRawPtVsYVsMultZNALambda(0),
+f3dHistPrimRawPtVsYVsMultZNAAntiLambda(0),
+f3dHistPrimRawPtVsYVsMultZNAK0Short(0),
+f3dHistPrimRawPtVsYCMSVsMultZNALambda(0),
+f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultZNAK0Short(0),
+
+//TRK
+f3dHistPrimRawPtVsYVsMultTRKLambda(0),
+f3dHistPrimRawPtVsYVsMultTRKAntiLambda(0),
+f3dHistPrimRawPtVsYVsMultTRKK0Short(0),
+f3dHistPrimRawPtVsYCMSVsMultTRKLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultTRKK0Short(0),
+
+//SPD
+f3dHistPrimRawPtVsYVsMultSPDLambda(0),
+f3dHistPrimRawPtVsYVsMultSPDAntiLambda(0),
+f3dHistPrimRawPtVsYVsMultSPDK0Short(0),
+f3dHistPrimRawPtVsYCMSVsMultSPDLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda(0),
+f3dHistPrimRawPtVsYCMSVsMultSPDK0Short(0),
+
f3dHistPrimRawPtVsYVsMultNonInjLambda(0),
f3dHistPrimRawPtVsYVsMultNonInjAntiLambda(0),
f3dHistPrimRawPtVsYVsMultNonInjK0Short(0),
f3dHistPrimRawPtVsYVsDecayLengthLambda(0),
f3dHistPrimRawPtVsYVsDecayLengthAntiLambda(0),
f3dHistPrimRawPtVsYVsDecayLengthK0Short(0),
- f3dHistGenPtVsYVsMultXiMinus(0),
- f3dHistGenPtVsYVsMultXiPlus(0),
- f3dHistGenPtVsYVsMultOmegaMinus(0),
- f3dHistGenPtVsYVsMultOmegaPlus(0),
- f3dHistGenSelectedPtVsYVsMultXiMinus(0),
- f3dHistGenSelectedPtVsYVsMultXiPlus(0),
- f3dHistGenSelectedPtVsYVsMultOmegaMinus(0),
- f3dHistGenSelectedPtVsYVsMultOmegaPlus(0),
- f3dHistGenPtVsYCMSVsMultXiMinus(0),
- f3dHistGenPtVsYCMSVsMultXiPlus(0),
- f3dHistGenPtVsYCMSVsMultOmegaMinus(0),
- f3dHistGenPtVsYCMSVsMultOmegaPlus(0),
- f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
- f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
- f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus(0),
- f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus(0),
+
+//V0M
+f3dHistGenPtVsYVsMultXiMinus(0),
+f3dHistGenPtVsYVsMultXiPlus(0),
+f3dHistGenSelectedPtVsYVsMultXiMinus(0),
+f3dHistGenSelectedPtVsYVsMultXiPlus(0),
+f3dHistGenPtVsYCMSVsMultXiMinus(0),
+f3dHistGenPtVsYCMSVsMultXiPlus(0),
+f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
+f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
+
+//V0A
+f3dHistGenPtVsYVsMultV0AXiMinus(0),
+f3dHistGenPtVsYVsMultV0AXiPlus(0),
+f3dHistGenSelectedPtVsYVsMultV0AXiMinus(0),
+f3dHistGenSelectedPtVsYVsMultV0AXiPlus(0),
+f3dHistGenPtVsYCMSVsMultV0AXiMinus(0),
+f3dHistGenPtVsYCMSVsMultV0AXiPlus(0),
+f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus(0),
+f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus(0),
+
+//ZNA
+f3dHistGenPtVsYVsMultZNAXiMinus(0),
+f3dHistGenPtVsYVsMultZNAXiPlus(0),
+f3dHistGenSelectedPtVsYVsMultZNAXiMinus(0),
+f3dHistGenSelectedPtVsYVsMultZNAXiPlus(0),
+f3dHistGenPtVsYCMSVsMultZNAXiMinus(0),
+f3dHistGenPtVsYCMSVsMultZNAXiPlus(0),
+f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus(0),
+f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus(0),
+
+//TRK
+f3dHistGenPtVsYVsMultTRKXiMinus(0),
+f3dHistGenPtVsYVsMultTRKXiPlus(0),
+f3dHistGenSelectedPtVsYVsMultTRKXiMinus(0),
+f3dHistGenSelectedPtVsYVsMultTRKXiPlus(0),
+f3dHistGenPtVsYCMSVsMultTRKXiMinus(0),
+f3dHistGenPtVsYCMSVsMultTRKXiPlus(0),
+f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus(0),
+f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus(0),
+
+//SPD
+f3dHistGenPtVsYVsMultSPDXiMinus(0),
+f3dHistGenPtVsYVsMultSPDXiPlus(0),
+f3dHistGenSelectedPtVsYVsMultSPDXiMinus(0),
+f3dHistGenSelectedPtVsYVsMultSPDXiPlus(0),
+f3dHistGenPtVsYCMSVsMultSPDXiMinus(0),
+f3dHistGenPtVsYCMSVsMultSPDXiPlus(0),
+f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus(0),
+f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus(0),
+
fHistPVx(0),
fHistPVy(0),
fHistPVz(0),
fHistSwappedV0Counter(0)
{
// Constructor
- // Output slot #0 writes into a TList container (Cascade)
- DefineOutput(1, TList::Class());
- DefineOutput(2, TTree::Class());
+ // Set Loose cuts or not here...
+ // REALLY LOOSE? Be careful when attempting to run over PbPb if fkRunV0Vertexer is set!
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.02; // min allowed impact parameter for the 1st daughter (LHC09a4 : 0.05)
+ fV0Sels[2] = 0.02; // min allowed impact parameter for the 2nd daughter (LHC09a4 : 0.05)
+ fV0Sels[3] = 2.0 ; // max allowed DCA between the daughter tracks (LHC09a4 : 0.5)
+ fV0Sels[4] = 0.95; // min allowed cosine of V0's pointing angle (LHC09a4 : 0.99)
+ fV0Sels[5] = 0.5 ; // min radius of the fiducial volume (LHC09a4 : 0.2)
+ fV0Sels[6] = 200. ; // max radius of the fiducial volume (LHC09a4 : 100.0)
+ // Output slot #0 writes into a TList container (Cascade)
+ DefineOutput(1, TList::Class());
+ DefineOutput(2, TTree::Class());
}
delete fESDtrackCuts;
fESDtrackCuts = 0x0;
}
+
+ if (fUtils){
+ delete fUtils;
+ fUtils = 0x0;
+ }
}
//________________________________________________________________________
//-----------MULTIPLICITY-INFO--------------------
/*28*/ fTree->Branch("fTreeVariableMultiplicity",&fTreeVariableMultiplicity,"fTreeVariableMultiplicity/I");
/*28*/ fTree->Branch("fTreeVariableMultiplicityMC",&fTreeVariableMultiplicityMC,"fTreeVariableMultiplicityMC/I");
+ /*17*/ fTree->Branch("fTreeVariableMultiplicityV0A",&fTreeVariableMultiplicityV0A,"fTreeVariableMultiplicityV0A/I");
+ /*17*/ fTree->Branch("fTreeVariableMultiplicityZNA",&fTreeVariableMultiplicityZNA,"fTreeVariableMultiplicityZNA/I");
+ /*17*/ fTree->Branch("fTreeVariableMultiplicityTRK",&fTreeVariableMultiplicityTRK,"fTreeVariableMultiplicityTRK/I");
+ /*17*/ fTree->Branch("fTreeVariableMultiplicitySPD",&fTreeVariableMultiplicitySPD,"fTreeVariableMultiplicitySPD/I");
//------------------------------------------------
/*29*/ fTree->Branch("fTreeVariableDistOverTotMom",&fTreeVariableDistOverTotMom,"fTreeVariableDistOverTotMom/F");
/*30*/ fTree->Branch("fTreeVariableNSigmasPosProton",&fTreeVariableNSigmasPosProton,"fTreeVariableNSigmasPosProton/F");
fTree->Branch("fTreeVariableIsNonInjected",&fTreeVariableIsNonInjected,"fTreeVariableIsNonInjected/O"); //O for bOOlean...
if ( fkLightWeight == kFALSE ){ // these are debugging branches!
- fTree->Branch("fTreeVariableNegTrackStatus",&fTreeVariableNegTrackStatus,"fTreeVariableNegTrackStatus/l");
- fTree->Branch("fTreeVariablePosTrackStatus",&fTreeVariablePosTrackStatus,"fTreeVariablePosTrackStatus/l");
+ fTree->Branch("fTreeVariableNegTrackStatus",&fTreeVariableNegTrackStatus,"fTreeVariableNegTrackStatus/l");
+ fTree->Branch("fTreeVariablePosTrackStatus",&fTreeVariablePosTrackStatus,"fTreeVariablePosTrackStatus/l");
+ fTree->Branch("fTreeVariableNegPhysicalStatus",&fTreeVariableNegPhysicalStatus,"fTreeVariableNegPhysicalStatus/I");
+ fTree->Branch("fTreeVariablePosPhysicalStatus",&fTreeVariablePosPhysicalStatus,"fTreeVariablePosPhysicalStatus/I");
}
//------------------------------------------------
// Particle Identification Setup
//------------------------------------------------
-
- AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
- AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
- fPIDResponse = inputHandler->GetPIDResponse();
-
- // Multiplicity
-
- if(! fESDtrackCuts ){
- fESDtrackCuts = new AliESDtrackCuts();
- }
+
+ AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
+ AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
+ fPIDResponse = inputHandler->GetPIDResponse();
+
+ // Multiplicity
+
+ if(! fESDtrackCuts ){
+ fESDtrackCuts = new AliESDtrackCuts();
+ }
+ if(! fUtils ){
+ fUtils = new AliAnalysisUtils();
+ }
//------------------------------------------------
// V0 Multiplicity Histograms
200, 0, 200);
fListHistV0->Add(fHistMultiplicityNoTPCOnlyNoPileup);
}
+
+ //V0A Centrality (if PbPb / pPb)
+ if(! fHistMultiplicityV0ABeforeTrigSel) {
+ fHistMultiplicityV0ABeforeTrigSel = new TH1F("fHistMultiplicityV0ABeforeTrigSel",
+ "Centrality Distribution: V0A;V0A Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityV0ABeforeTrigSel);
+ }
+ if(! fHistMultiplicityV0AForTrigEvt) {
+ fHistMultiplicityV0AForTrigEvt = new TH1F("fHistMultiplicityV0AForTrigEvt",
+ "Centrality Distribution: V0A;V0A Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityV0AForTrigEvt);
+ }
+ if(! fHistMultiplicityV0A) {
+ fHistMultiplicityV0A = new TH1F("fHistMultiplicityV0A",
+ "Centrality Distribution: V0A;V0A Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityV0A);
+ }
+ if(! fHistMultiplicityV0ANoTPCOnly) {
+ fHistMultiplicityV0ANoTPCOnly = new TH1F("fHistMultiplicityV0ANoTPCOnly",
+ "Centrality Distribution: V0A;V0A Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityV0ANoTPCOnly);
+ }
+ if(! fHistMultiplicityV0ANoTPCOnlyNoPileup) {
+ fHistMultiplicityV0ANoTPCOnlyNoPileup = new TH1F("fHistMultiplicityV0ANoTPCOnlyNoPileup",
+ "Centrality Distribution: V0A;V0A Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityV0ANoTPCOnlyNoPileup);
+ }
+
+ //ZNA Centrality (if PbPb / pPb)
+ if(! fHistMultiplicityZNABeforeTrigSel) {
+ fHistMultiplicityZNABeforeTrigSel = new TH1F("fHistMultiplicityZNABeforeTrigSel",
+ "Centrality Distribution: ZNA;ZNA Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityZNABeforeTrigSel);
+ }
+ if(! fHistMultiplicityZNAForTrigEvt) {
+ fHistMultiplicityZNAForTrigEvt = new TH1F("fHistMultiplicityZNAForTrigEvt",
+ "Centrality Distribution: ZNA;ZNA Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityZNAForTrigEvt);
+ }
+ if(! fHistMultiplicityZNA) {
+ fHistMultiplicityZNA = new TH1F("fHistMultiplicityZNA",
+ "Centrality Distribution: ZNA;ZNA Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityZNA);
+ }
+ if(! fHistMultiplicityZNANoTPCOnly) {
+ fHistMultiplicityZNANoTPCOnly = new TH1F("fHistMultiplicityZNANoTPCOnly",
+ "Centrality Distribution: ZNA;ZNA Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityZNANoTPCOnly);
+ }
+ if(! fHistMultiplicityZNANoTPCOnlyNoPileup) {
+ fHistMultiplicityZNANoTPCOnlyNoPileup = new TH1F("fHistMultiplicityZNANoTPCOnlyNoPileup",
+ "Centrality Distribution: ZNA;ZNA Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityZNANoTPCOnlyNoPileup);
+ }
+
+ //TRK Centrality (if PbPb / pPb)
+ if(! fHistMultiplicityTRKBeforeTrigSel) {
+ fHistMultiplicityTRKBeforeTrigSel = new TH1F("fHistMultiplicityTRKBeforeTrigSel",
+ "Centrality Distribution: TRK;TRK Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityTRKBeforeTrigSel);
+ }
+ if(! fHistMultiplicityTRKForTrigEvt) {
+ fHistMultiplicityTRKForTrigEvt = new TH1F("fHistMultiplicityTRKForTrigEvt",
+ "Centrality Distribution: TRK;TRK Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityTRKForTrigEvt);
+ }
+ if(! fHistMultiplicityTRK) {
+ fHistMultiplicityTRK = new TH1F("fHistMultiplicityTRK",
+ "Centrality Distribution: TRK;TRK Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityTRK);
+ }
+ if(! fHistMultiplicityTRKNoTPCOnly) {
+ fHistMultiplicityTRKNoTPCOnly = new TH1F("fHistMultiplicityTRKNoTPCOnly",
+ "Centrality Distribution: TRK;TRK Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityTRKNoTPCOnly);
+ }
+ if(! fHistMultiplicityTRKNoTPCOnlyNoPileup) {
+ fHistMultiplicityTRKNoTPCOnlyNoPileup = new TH1F("fHistMultiplicityTRKNoTPCOnlyNoPileup",
+ "Centrality Distribution: TRK;TRK Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicityTRKNoTPCOnlyNoPileup);
+ }
+
+ //SPD Centrality (if PbPb / pPb)
+ if(! fHistMultiplicitySPDBeforeTrigSel) {
+ fHistMultiplicitySPDBeforeTrigSel = new TH1F("fHistMultiplicitySPDBeforeTrigSel",
+ "Centrality Distribution: SPD;SPD Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicitySPDBeforeTrigSel);
+ }
+ if(! fHistMultiplicitySPDForTrigEvt) {
+ fHistMultiplicitySPDForTrigEvt = new TH1F("fHistMultiplicitySPDForTrigEvt",
+ "Centrality Distribution: SPD;SPD Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicitySPDForTrigEvt);
+ }
+ if(! fHistMultiplicitySPD) {
+ fHistMultiplicitySPD = new TH1F("fHistMultiplicitySPD",
+ "Centrality Distribution: SPD;SPD Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicitySPD);
+ }
+ if(! fHistMultiplicitySPDNoTPCOnly) {
+ fHistMultiplicitySPDNoTPCOnly = new TH1F("fHistMultiplicitySPDNoTPCOnly",
+ "Centrality Distribution: SPD;SPD Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicitySPDNoTPCOnly);
+ }
+ if(! fHistMultiplicitySPDNoTPCOnlyNoPileup) {
+ fHistMultiplicitySPDNoTPCOnlyNoPileup = new TH1F("fHistMultiplicitySPDNoTPCOnlyNoPileup",
+ "Centrality Distribution: SPD;SPD Centrality;Events",
+ 200, 0, 200);
+ fListHistV0->Add(fHistMultiplicitySPDNoTPCOnlyNoPileup);
+ }
+
+
+
//Raw Data for J/Psi paper Technique
//TH2F *f2dHistMultiplicityVsTrueBeforeTrigSel; //! multiplicity distribution
// Raw Generated (Pre-physics-selection)
//----------------------------------
-//--- 3D Histo (Pt, Y, Multiplicity)
+//--- 3D Histo (Pt, Y, Multiplicity), V0M Version (default)
if(! f3dHistPrimRawPtVsYVsMultLambda) {
f3dHistPrimRawPtVsYVsMultLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
f3dHistPrimRawPtVsYCMSVsMultK0Short = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultK0Short);
}
+
+//--- 3D Histo (Pt, Y, Multiplicity), V0A Version
+
+ if(! f3dHistPrimRawPtVsYVsMultV0ALambda) {
+ f3dHistPrimRawPtVsYVsMultV0ALambda = new TH3F( "f3dHistPrimRawPtVsYVsMultV0ALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultV0ALambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultV0AAntiLambda) {
+ f3dHistPrimRawPtVsYVsMultV0AAntiLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultV0AAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultV0AAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultV0AK0Short) {
+ f3dHistPrimRawPtVsYVsMultV0AK0Short = new TH3F( "f3dHistPrimRawPtVsYVsMultV0AK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultV0AK0Short);
+ }
+
+ if(! f3dHistPrimRawPtVsYCMSVsMultV0ALambda) {
+ f3dHistPrimRawPtVsYCMSVsMultV0ALambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultV0ALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultV0ALambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultV0AK0Short) {
+ f3dHistPrimRawPtVsYCMSVsMultV0AK0Short = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultV0AK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultV0AK0Short);
+ }
+
+ //--- 3D Histo (Pt, Y, Multiplicity), ZNA Version
+
+ if(! f3dHistPrimRawPtVsYVsMultZNALambda) {
+ f3dHistPrimRawPtVsYVsMultZNALambda = new TH3F( "f3dHistPrimRawPtVsYVsMultZNALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultZNALambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultZNAAntiLambda) {
+ f3dHistPrimRawPtVsYVsMultZNAAntiLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultZNAAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultZNAAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultZNAK0Short) {
+ f3dHistPrimRawPtVsYVsMultZNAK0Short = new TH3F( "f3dHistPrimRawPtVsYVsMultZNAK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultZNAK0Short);
+ }
+
+ if(! f3dHistPrimRawPtVsYCMSVsMultZNALambda) {
+ f3dHistPrimRawPtVsYCMSVsMultZNALambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultZNALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultZNALambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultZNAK0Short) {
+ f3dHistPrimRawPtVsYCMSVsMultZNAK0Short = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultZNAK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultZNAK0Short);
+ }
+
+ //--- 3D Histo (Pt, Y, Multiplicity), TRK Version
+
+ if(! f3dHistPrimRawPtVsYVsMultTRKLambda) {
+ f3dHistPrimRawPtVsYVsMultTRKLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultTRKLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultTRKLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultTRKAntiLambda) {
+ f3dHistPrimRawPtVsYVsMultTRKAntiLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultTRKAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultTRKAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultTRKK0Short) {
+ f3dHistPrimRawPtVsYVsMultTRKK0Short = new TH3F( "f3dHistPrimRawPtVsYVsMultTRKK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultTRKK0Short);
+ }
+
+ if(! f3dHistPrimRawPtVsYCMSVsMultTRKLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultTRKLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultTRKLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultTRKLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultTRKK0Short) {
+ f3dHistPrimRawPtVsYCMSVsMultTRKK0Short = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultTRKK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultTRKK0Short);
+ }
+
+ //--- 3D Histo (Pt, Y, Multiplicity), SPD Version
+
+ if(! f3dHistPrimRawPtVsYVsMultSPDLambda) {
+ f3dHistPrimRawPtVsYVsMultSPDLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultSPDLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultSPDLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultSPDAntiLambda) {
+ f3dHistPrimRawPtVsYVsMultSPDAntiLambda = new TH3F( "f3dHistPrimRawPtVsYVsMultSPDAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultSPDAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYVsMultSPDK0Short) {
+ f3dHistPrimRawPtVsYVsMultSPDK0Short = new TH3F( "f3dHistPrimRawPtVsYVsMultSPDK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYVsMultSPDK0Short);
+ }
+
+ if(! f3dHistPrimRawPtVsYCMSVsMultSPDLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultSPDLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultSPDLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultSPDLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda) {
+ f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda);
+ }
+ if(! f3dHistPrimRawPtVsYCMSVsMultSPDK0Short) {
+ f3dHistPrimRawPtVsYCMSVsMultSPDK0Short = new TH3F( "f3dHistPrimRawPtVsYCMSVsMultSPDK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimRawPtVsYCMSVsMultSPDK0Short);
+ }
+
+
//---> Non-injected particles
fListHistV0->Add(f3dHistPrimRawPtVsYVsDecayLengthK0Short);
}
+//--------------------------------------------------------------------------------------
+// V0M for Cascades
//--------------------------------------------------------------------------------------
//--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, all generated
f3dHistGenPtVsYVsMultXiPlus = new TH3F( "f3dHistGenPtVsYVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistGenPtVsYVsMultXiPlus);
}
-//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
-
- if(! f3dHistGenPtVsYVsMultOmegaMinus) {
- f3dHistGenPtVsYVsMultOmegaMinus = new TH3F( "f3dHistGenPtVsYVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenPtVsYVsMultOmegaMinus);
- }
- if(! f3dHistGenPtVsYVsMultOmegaPlus) {
- f3dHistGenPtVsYVsMultOmegaPlus = new TH3F( "f3dHistGenPtVsYVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenPtVsYVsMultOmegaPlus);
- }
-
-//CASCADEs, Y CMS
-
+//CASCADEs, Y CMS
if(! f3dHistGenPtVsYCMSVsMultXiMinus) {
f3dHistGenPtVsYCMSVsMultXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistGenPtVsYCMSVsMultXiMinus);
f3dHistGenPtVsYCMSVsMultXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistGenPtVsYCMSVsMultXiPlus);
}
-//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
-
- if(! f3dHistGenPtVsYCMSVsMultOmegaMinus) {
- f3dHistGenPtVsYCMSVsMultOmegaMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenPtVsYCMSVsMultOmegaMinus);
- }
- if(! f3dHistGenPtVsYCMSVsMultOmegaPlus) {
- f3dHistGenPtVsYCMSVsMultOmegaPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenPtVsYCMSVsMultOmegaPlus);
- }
-
-
//--------------------------------------------------------------------------------------
//--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
f3dHistGenSelectedPtVsYVsMultXiPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultXiPlus);
}
-//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
-
- if(! f3dHistGenSelectedPtVsYVsMultOmegaMinus) {
- f3dHistGenSelectedPtVsYVsMultOmegaMinus = new TH3F( "f3dHistGenSelectedPtVsYVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultOmegaMinus);
- }
- if(! f3dHistGenSelectedPtVsYVsMultOmegaPlus) {
- f3dHistGenSelectedPtVsYVsMultOmegaPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultOmegaPlus);
- }
//CASCADES, analysis level, y CMS
-
//--------------------------------------------------------------------------------------
//--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
f3dHistGenSelectedPtVsYCMSVsMultXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultXiPlus);
}
-//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
-
- if(! f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus) {
- f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus);
- }
- if(! f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus) {
- f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
- fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus);
- }
+
+ //--------------------------------------------------------------------------------------
+ // V0A for Cascades
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, all generated
+
+ if(! f3dHistGenPtVsYVsMultV0AXiMinus) {
+ f3dHistGenPtVsYVsMultV0AXiMinus = new TH3F( "f3dHistGenPtVsYVsMultV0AXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultV0AXiMinus);
+ }
+ if(! f3dHistGenPtVsYVsMultV0AXiPlus) {
+ f3dHistGenPtVsYVsMultV0AXiPlus = new TH3F( "f3dHistGenPtVsYVsMultV0AXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultV0AXiPlus);
+ }
+ //CASCADEs, Y CMS
+ if(! f3dHistGenPtVsYCMSVsMultV0AXiMinus) {
+ f3dHistGenPtVsYCMSVsMultV0AXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultV0AXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultV0AXiMinus);
+ }
+ if(! f3dHistGenPtVsYCMSVsMultV0AXiPlus) {
+ f3dHistGenPtVsYCMSVsMultV0AXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultV0AXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultV0AXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYVsMultV0AXiMinus) {
+ f3dHistGenSelectedPtVsYVsMultV0AXiMinus = new TH3F( "f3dHistGenSelectedPtVsYVsMultV0AXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultV0AXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYVsMultV0AXiPlus) {
+ f3dHistGenSelectedPtVsYVsMultV0AXiPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultV0AXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultV0AXiPlus);
+ }
+
+ //CASCADES, analysis level, y CMS
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus) {
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus) {
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ // ZNA for Cascades
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, all generated
+
+ if(! f3dHistGenPtVsYVsMultZNAXiMinus) {
+ f3dHistGenPtVsYVsMultZNAXiMinus = new TH3F( "f3dHistGenPtVsYVsMultZNAXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultZNAXiMinus);
+ }
+ if(! f3dHistGenPtVsYVsMultZNAXiPlus) {
+ f3dHistGenPtVsYVsMultZNAXiPlus = new TH3F( "f3dHistGenPtVsYVsMultZNAXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultZNAXiPlus);
+ }
+ //CASCADEs, Y CMS
+ if(! f3dHistGenPtVsYCMSVsMultZNAXiMinus) {
+ f3dHistGenPtVsYCMSVsMultZNAXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultZNAXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultZNAXiMinus);
+ }
+ if(! f3dHistGenPtVsYCMSVsMultZNAXiPlus) {
+ f3dHistGenPtVsYCMSVsMultZNAXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultZNAXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultZNAXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYVsMultZNAXiMinus) {
+ f3dHistGenSelectedPtVsYVsMultZNAXiMinus = new TH3F( "f3dHistGenSelectedPtVsYVsMultZNAXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultZNAXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYVsMultZNAXiPlus) {
+ f3dHistGenSelectedPtVsYVsMultZNAXiPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultZNAXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultZNAXiPlus);
+ }
+
+ //CASCADES, analysis level, y CMS
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus) {
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus) {
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ // TRK for Cascades
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, all generated
+
+ if(! f3dHistGenPtVsYVsMultTRKXiMinus) {
+ f3dHistGenPtVsYVsMultTRKXiMinus = new TH3F( "f3dHistGenPtVsYVsMultTRKXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultTRKXiMinus);
+ }
+ if(! f3dHistGenPtVsYVsMultTRKXiPlus) {
+ f3dHistGenPtVsYVsMultTRKXiPlus = new TH3F( "f3dHistGenPtVsYVsMultTRKXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultTRKXiPlus);
+ }
+ //CASCADEs, Y CMS
+ if(! f3dHistGenPtVsYCMSVsMultTRKXiMinus) {
+ f3dHistGenPtVsYCMSVsMultTRKXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultTRKXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultTRKXiMinus);
+ }
+ if(! f3dHistGenPtVsYCMSVsMultTRKXiPlus) {
+ f3dHistGenPtVsYCMSVsMultTRKXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultTRKXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultTRKXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYVsMultTRKXiMinus) {
+ f3dHistGenSelectedPtVsYVsMultTRKXiMinus = new TH3F( "f3dHistGenSelectedPtVsYVsMultTRKXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultTRKXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYVsMultTRKXiPlus) {
+ f3dHistGenSelectedPtVsYVsMultTRKXiPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultTRKXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultTRKXiPlus);
+ }
+
+ //CASCADES, analysis level, y CMS
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus) {
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus) {
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus);
+ }
+
+
+ //--------------------------------------------------------------------------------------
+ // SPD for Cascades
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, all generated
+
+ if(! f3dHistGenPtVsYVsMultSPDXiMinus) {
+ f3dHistGenPtVsYVsMultSPDXiMinus = new TH3F( "f3dHistGenPtVsYVsMultSPDXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultSPDXiMinus);
+ }
+ if(! f3dHistGenPtVsYVsMultSPDXiPlus) {
+ f3dHistGenPtVsYVsMultSPDXiPlus = new TH3F( "f3dHistGenPtVsYVsMultSPDXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYVsMultSPDXiPlus);
+ }
+ //CASCADEs, Y CMS
+ if(! f3dHistGenPtVsYCMSVsMultSPDXiMinus) {
+ f3dHistGenPtVsYCMSVsMultSPDXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultSPDXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultSPDXiMinus);
+ }
+ if(! f3dHistGenPtVsYCMSVsMultSPDXiPlus) {
+ f3dHistGenPtVsYCMSVsMultSPDXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultSPDXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenPtVsYCMSVsMultSPDXiPlus);
+ }
+
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYVsMultSPDXiMinus) {
+ f3dHistGenSelectedPtVsYVsMultSPDXiMinus = new TH3F( "f3dHistGenSelectedPtVsYVsMultSPDXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultSPDXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYVsMultSPDXiPlus) {
+ f3dHistGenSelectedPtVsYVsMultSPDXiPlus = new TH3F( "f3dHistGenSelectedPtVsYVsMultSPDXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultSPDXiPlus);
+ }
+
+ //CASCADES, analysis level, y CMS
+ //--------------------------------------------------------------------------------------
+ //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+ if(! f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus) {
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus);
+ }
+ if(! f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus) {
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus);
+ }
+
//----------------------------------
// Histos at analysis level
//----------------------------------
+//The usual V0M business...
+
if(! f3dHistPrimAnalysisPtVsYVsMultLambda) {
f3dHistPrimAnalysisPtVsYVsMultLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultLambda);
f3dHistPrimAnalysisPtVsYCMSVsMultK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultK0Short);
}
+
+ //TRUE Multiplicity Business
+
+ if(! f3dHistPrimAnalysisPtVsYVsMultMCLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultMCLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultMCLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultMCLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultMCK0Short) {
+ f3dHistPrimAnalysisPtVsYVsMultMCK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultMCK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultMCK0Short);
+ }
+
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; MultMC", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short);
+ }
+
+ //V0A
+
+ if(! f3dHistPrimAnalysisPtVsYVsMultV0ALambda) {
+ f3dHistPrimAnalysisPtVsYVsMultV0ALambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultV0ALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultV0ALambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultV0AK0Short) {
+ f3dHistPrimAnalysisPtVsYVsMultV0AK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultV0AK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultV0AK0Short);
+ }
+
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short);
+ }
+
+ //ZNA
+
+ if(! f3dHistPrimAnalysisPtVsYVsMultZNALambda) {
+ f3dHistPrimAnalysisPtVsYVsMultZNALambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultZNALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultZNALambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultZNAK0Short) {
+ f3dHistPrimAnalysisPtVsYVsMultZNAK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultZNAK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultZNAK0Short);
+ }
+
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short);
+ }
+
+ //TRK
+
+ if(! f3dHistPrimAnalysisPtVsYVsMultTRKLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultTRKLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultTRKLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultTRKLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultTRKK0Short) {
+ f3dHistPrimAnalysisPtVsYVsMultTRKK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultTRKK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultTRKK0Short);
+ }
+
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short);
+ }
+
+ //SPD
+
+ if(! f3dHistPrimAnalysisPtVsYVsMultSPDLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultSPDLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultSPDLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultSPDLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda) {
+ f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYVsMultSPDK0Short) {
+ f3dHistPrimAnalysisPtVsYVsMultSPDK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYVsMultSPDK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYVsMultSPDK0Short);
+ }
+
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda", "Pt_{lambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{lambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda", "Pt_{antilambda} Vs Y_{#Lambda} Vs Multiplicity; Pt_{antilambda} (GeV/c); Y_{#Lambda} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda);
+ }
+ if(! f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short) {
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short = new TH3F( "f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short", "Pt_{K0S} Vs Y_{K0S} Vs Multiplicity; Pt_{K0S} (GeV/c); Y_{K0S} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+ if( fkIsNuclear ) fListHistV0->Add(f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short);
+ }
//----------------------------------
// Primary Vertex Position Histos
cout << "Name of the file with pb :" << fInputHandler->GetTree()->GetCurrentFile()->GetName() << endl;
return;
}
+
+ //------------------------------------------------
+ // Rerun V0 vertexer, if asked for
+ // --- WARNING: Be careful when using in PbPb
+ //------------------------------------------------
+ if( fkRunV0Vertexer ){
+ lESDevent->ResetV0s();
+ AliV0vertexer lV0vtxer;
+ lV0vtxer.SetDefaultCuts(fV0Sels);
+ lV0vtxer.Tracks2V0vertices(lESDevent);
+ }
+
TArrayF mcPrimaryVtx;
AliGenEventHeader* mcHeader=lMCevent->GenEventHeader();
if(!mcHeader) return;
//------------------------------------------------
//REVISED multiplicity estimator after 'multiplicity day' (2011)
- Int_t lMultiplicity = -100;
-
+ Int_t lMultiplicity = -100;
+ Int_t lMultiplicityV0A = -100;
+ Int_t lMultiplicityZNA = -100;
+ Int_t lMultiplicityTRK = -100;
+ Int_t lMultiplicitySPD = -100;
+
//testing purposes
if(fkIsNuclear == kFALSE) lMultiplicity = fESDtrackCuts->GetReferenceMultiplicity(lESDevent, AliESDtrackCuts::kTrackletsITSTPC,0.5);
AliCentrality* centrality;
centrality = lESDevent->GetCentrality();
lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile( fCentralityEstimator.Data() ) ) );
+ lMultiplicityV0A = ( ( Int_t ) ( centrality->GetCentralityPercentile( "V0A" ) ) );
+ lMultiplicityZNA = ( ( Int_t ) ( centrality->GetCentralityPercentile( "ZNA" ) ) );
+ lMultiplicityTRK = ( ( Int_t ) ( centrality->GetCentralityPercentile( "TRK" ) ) );
+ lMultiplicitySPD = ( ( Int_t ) ( centrality->GetCentralityPercentile( "CL1" ) ) );
if (centrality->GetQuality()>1) {
PostData(1, fListHistV0);
PostData(2, fTree);
//Set variable for filling tree afterwards!
//---> pp case......: GetReferenceMultiplicity
//---> Pb-Pb case...: Centrality by V0M
- fTreeVariableMultiplicity = lMultiplicity;
+ fTreeVariableMultiplicity = lMultiplicity;
+ fTreeVariableMultiplicityV0A = lMultiplicityV0A;
+ fTreeVariableMultiplicityZNA = lMultiplicityZNA;
+ fTreeVariableMultiplicityTRK = lMultiplicityTRK;
+ fTreeVariableMultiplicitySPD = lMultiplicitySPD;
fHistV0MultiplicityBeforeTrigSel->Fill ( lESDevent->GetNumberOfV0s() );
- fHistMultiplicityBeforeTrigSel->Fill ( lMultiplicity );
-
+
+ fHistMultiplicityBeforeTrigSel->Fill ( lMultiplicity );
+ fHistMultiplicityV0ABeforeTrigSel->Fill ( lMultiplicityV0A );
+ fHistMultiplicityZNABeforeTrigSel->Fill ( lMultiplicityZNA );
+ fHistMultiplicityTRKBeforeTrigSel->Fill ( lMultiplicityTRK );
+ fHistMultiplicitySPDBeforeTrigSel->Fill ( lMultiplicitySPD );
+
//------------------------------------------------
// MC Information Acquistion
//------------------------------------------------
lPtCurrentPart = lCurrentParticlePrimary->Pt();
f3dHistGenPtVsYVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
f3dHistGenPtVsYCMSVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
+
+ f3dHistGenPtVsYVsMultV0AXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityV0A);
+ f3dHistGenPtVsYCMSVsMultV0AXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityV0A);
+ f3dHistGenPtVsYVsMultZNAXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityZNA);
+ f3dHistGenPtVsYCMSVsMultZNAXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityZNA);
+ f3dHistGenPtVsYVsMultTRKXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityTRK);
+ f3dHistGenPtVsYCMSVsMultTRKXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityTRK);
+ f3dHistGenPtVsYVsMultSPDXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicitySPD);
+ f3dHistGenPtVsYCMSVsMultSPDXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicitySPD);
}
- if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){
+ if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){
lPtCurrentPart = lCurrentParticlePrimary->Pt();
f3dHistGenPtVsYVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
f3dHistGenPtVsYCMSVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
- }
- // Omega Histograms
- if( lCurrentParticlePrimary->GetPdgCode() == 3334 ){
- lPtCurrentPart = lCurrentParticlePrimary->Pt();
- f3dHistGenPtVsYVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
- f3dHistGenPtVsYCMSVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
- }
- if( lCurrentParticlePrimary->GetPdgCode() == -3334 ){
- lPtCurrentPart = lCurrentParticlePrimary->Pt();
- f3dHistGenPtVsYVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
- f3dHistGenPtVsYCMSVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
+
+ f3dHistGenPtVsYVsMultV0AXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityV0A);
+ f3dHistGenPtVsYCMSVsMultV0AXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityV0A);
+ f3dHistGenPtVsYVsMultZNAXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityZNA);
+ f3dHistGenPtVsYCMSVsMultZNAXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityZNA);
+ f3dHistGenPtVsYVsMultTRKXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityTRK);
+ f3dHistGenPtVsYCMSVsMultTRKXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityTRK);
+ f3dHistGenPtVsYVsMultSPDXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicitySPD);
+ f3dHistGenPtVsYCMSVsMultSPDXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicitySPD);
}
}
}
Double_t lThisCharge = particleOne->GetPDG()->Charge()/3.;
if(TMath::Abs(lThisCharge)<0.001) continue;
if(! (lMCstack->IsPhysicalPrimary(iCurrentLabelStack)) ) continue;
-
- Double_t gpt = particleOne -> Pt();
+
+ //Double_t gpt = particleOne -> Pt();
Double_t geta = particleOne -> Eta();
if( TMath::Abs(geta) < 0.5) lNumberOfCharged++;
if( lPdgcodeCurrentPart == 3122 ){
f3dHistPrimRawPtVsYVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
f3dHistPrimRawPtVsYCMSVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+
+ f3dHistPrimRawPtVsYVsMultV0ALambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYCMSVsMultV0ALambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYVsMultZNALambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYCMSVsMultZNALambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYVsMultTRKLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYCMSVsMultTRKLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYVsMultSPDLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimRawPtVsYCMSVsMultSPDLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
+
if(lStackNatural){f3dHistPrimRawPtVsYVsMultNonInjLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);}
f3dHistPrimRawPtVsYVsMultMCLambda->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
f3dHistPrimRawPtVsYVsVertexZLambda->Fill(lPtCurrentPart, lRapCurrentPart, mcPrimaryVtx.At(2));
if( lPdgcodeCurrentPart == -3122 ){
f3dHistPrimRawPtVsYVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
f3dHistPrimRawPtVsYCMSVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+
+ f3dHistPrimRawPtVsYVsMultV0AAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYCMSVsMultV0AAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYVsMultZNAAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYCMSVsMultZNAAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYVsMultTRKAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYCMSVsMultTRKAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYVsMultSPDAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimRawPtVsYCMSVsMultSPDAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
+
if(lStackNatural){f3dHistPrimRawPtVsYVsMultNonInjAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);}
f3dHistPrimRawPtVsYVsMultMCAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
f3dHistPrimRawPtVsYVsVertexZAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, mcPrimaryVtx.At(2));
if( lPdgcodeCurrentPart == 310 ){
f3dHistPrimRawPtVsYVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
f3dHistPrimRawPtVsYCMSVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+
+ f3dHistPrimRawPtVsYVsMultV0AK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYCMSVsMultV0AK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimRawPtVsYVsMultZNAK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYCMSVsMultZNAK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimRawPtVsYVsMultTRKK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYCMSVsMultTRKK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimRawPtVsYVsMultSPDK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimRawPtVsYCMSVsMultSPDK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
+
if(lStackNatural){f3dHistPrimRawPtVsYVsMultNonInjK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);}
f3dHistPrimRawPtVsYVsMultMCK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
f3dHistPrimRawPtVsYVsVertexZK0Short->Fill(lPtCurrentPart, lRapCurrentPart, mcPrimaryVtx.At(2));
//------------------------------------------------
// Physics Selection
//------------------------------------------------
-
- UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
- Bool_t isSelected = 0;
- isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
-
- //pA triggering: CINT7
- if( fkSwitchINT7 ) isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
-
- //Standard Min-Bias Selection
- if ( ! isSelected ) {
+
+ UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
+ Bool_t isSelected = 0;
+ Bool_t isSelectedExtra = kTRUE; //extra sel, default YES
+ isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
+
+ //pA triggering: CINT7
+ if( fkSwitchINT7 ) isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
+
+ if(fkSkipTrigger==kFALSE){
+ //Extra selection applies if with/without SDD is to be dealth with
+ if( fkFastOnly == "kFastOnly"){
+ //If not kFastOnly, isSelectedExtra will be kFALSE; procedure will reject it
+ isSelectedExtra = (maskIsSelected & AliVEvent::kFastOnly) == AliVEvent::kFastOnly;
+ }
+ if( fkFastOnly == "NotkFastOnly"){
+ //If not kFastOnly, isSelectedExtra will be kTRUE; procedure will accept it
+ isSelectedExtra = !( (maskIsSelected & AliVEvent::kFastOnly) == AliVEvent::kFastOnly );
+ }
+
+ //Standard Min-Bias Selection
+ if ( ! isSelected ) {
PostData(1, fListHistV0);
PostData(2, fTree);
return;
- }
-
- f2dHistMultiplicityVsTrueForTrigEvt->Fill ( lMultiplicity , lNumberOfCharged );
- fHistGenVertexZForTrigEvt->Fill( mcPrimaryVtx.At(2) );
+ }
+ //Check if goes through extra selections
+ //isSelectedExtra will be true in case -> fkFastOnly==""
+ //isSelectedExtra will be true in case -> fkFastOnly=="kFastOnly" && bit kFastOnly ON
+ //isSelectedExtra will be true in case -> fkFastOnly=="NotkFastOnly" && bit kFastOnly OFF
+ if ( !isSelectedExtra ) {
+ PostData(1, fListHistV0);
+ PostData(2, fTree);
+ return;
+ }
+ }
+
+ f2dHistMultiplicityVsTrueForTrigEvt->Fill ( lMultiplicity , lNumberOfCharged );
+ fHistGenVertexZForTrigEvt->Fill( mcPrimaryVtx.At(2) );
+
//------------------------------------------------
// After Trigger Selection
//------------------------------------------------
//Set variable for filling tree afterwards!
fHistV0MultiplicityForTrigEvt->Fill(lNumberOfV0s);
fHistMultiplicityForTrigEvt->Fill ( lMultiplicity );
+ fHistMultiplicityV0AForTrigEvt ->Fill( lMultiplicityV0A );
+ fHistMultiplicityZNAForTrigEvt ->Fill( lMultiplicityZNA );
+ fHistMultiplicityTRKForTrigEvt ->Fill( lMultiplicityTRK );
+ fHistMultiplicitySPDForTrigEvt ->Fill( lMultiplicitySPD );
//------------------------------------------------
// Getting: Primary Vertex + MagField Info
f2dHistMultiplicityVsVertexZForTrigEvt->Fill( lMultiplicity, lPrimaryVtxPosition[2] );
-//------------------------------------------------
-// Primary Vertex Z position: SKIP
-//------------------------------------------------
-
- if(TMath::Abs(lBestPrimaryVtxPos[2]) > 10.0 ) {
- AliWarning("Pb / | Z position of Best Prim Vtx | > 10.0 cm ... return !");
- PostData(1, fListHistV0);
- PostData(2, fTree);
- return;
- }
-
- f2dHistMultiplicityVsVertexZ->Fill( lMultiplicity, lPrimaryVtxPosition[2] );
-
- lMagneticField = lESDevent->GetMagneticField( );
- fHistV0MultiplicityForSelEvt ->Fill( lNumberOfV0s );
- fHistMultiplicity->Fill(lMultiplicity);
- f2dHistMultiplicityVsTrue->Fill ( lMultiplicity , lNumberOfCharged );
- fHistGenVertexZ->Fill( (mcPrimaryVtx.At(2)) );
-//------------------------------------------------
+ //------------------------------------------------
+ // Primary Vertex Z position: SKIP
+ //------------------------------------------------
+
+ if(TMath::Abs(lBestPrimaryVtxPos[2]) > 10.0 && fkpAVertexSelection == kFALSE) {
+ AliWarning("Pb / | Z position of Best Prim Vtx | > 10.0 cm ... return !");
+ PostData(1, fListHistV0);
+ PostData(2, fTree);
+ return;
+ }
+ if(fkpAVertexSelection==kTRUE && fUtils->IsFirstEventInChunk(lESDevent)) {
+ AliWarning("Pb / | This is the first event in the chunk!");
+ PostData(1, fListHistV0);
+ PostData(2, fTree);
+ return;
+ }
+ if(fkpAVertexSelection==kTRUE && !fUtils->IsVertexSelected2013pA(lESDevent)) {
+ AliWarning("Pb / | Vertex not selected by 2013 pA criteria!");
+ PostData(1, fListHistV0);
+ PostData(2, fTree);
+ return;
+ }
+
+ f2dHistMultiplicityVsVertexZ->Fill( lMultiplicity, lPrimaryVtxPosition[2] );
+
+ lMagneticField = lESDevent->GetMagneticField( );
+ fHistV0MultiplicityForSelEvt ->Fill( lNumberOfV0s );
+ fHistMultiplicity->Fill(lMultiplicity);
+ fHistMultiplicityV0A->Fill(lMultiplicityV0A);
+ fHistMultiplicityZNA->Fill(lMultiplicityZNA);
+ fHistMultiplicityTRK->Fill(lMultiplicityTRK);
+ fHistMultiplicitySPD->Fill(lMultiplicitySPD);
+ f2dHistMultiplicityVsTrue->Fill ( lMultiplicity , lNumberOfCharged );
+ fHistGenVertexZ->Fill( (mcPrimaryVtx.At(2)) );
+ //------------------------------------------------
// SKIP: Events with well-established PVtx
//------------------------------------------------
const AliESDVertex *lPrimaryTrackingESDVtxCheck = lESDevent->GetPrimaryVertexTracks();
const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
- if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingESDVtxCheck->GetStatus() ){
+ if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingESDVtxCheck->GetStatus() && fkpAVertexSelection == kFALSE){
AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
PostData(1, fListHistV0);
PostData(2, fTree);
f2dHistMultiplicityVsVertexZNoTPCOnly->Fill( lMultiplicity, lPrimaryVtxPosition[2] );
fHistV0MultiplicityForSelEvtNoTPCOnly ->Fill( lNumberOfV0s );
fHistMultiplicityNoTPCOnly->Fill(lMultiplicity);
+ fHistMultiplicityV0ANoTPCOnly->Fill(lMultiplicityV0A);
+ fHistMultiplicityZNANoTPCOnly->Fill(lMultiplicityZNA);
+ fHistMultiplicityTRKNoTPCOnly->Fill(lMultiplicityTRK);
+ fHistMultiplicitySPDNoTPCOnly->Fill(lMultiplicitySPD);
f2dHistMultiplicityVsTrueNoTPCOnly->Fill ( lMultiplicity , lNumberOfCharged );
fHistGenVertexZNoTPCOnly->Fill( (mcPrimaryVtx.At(2)) );
//------------------------------------------------
//------------------------------------------------
// FIXME : quality selection regarding pile-up rejection
- if(lESDevent->IsPileupFromSPD() && !fkIsNuclear ){// minContributors=3, minZdist=0.8, nSigmaZdist=3., nSigmaDiamXY=2., nSigmaDiamZ=5. -> see http://alisoft.cern.ch/viewvc/trunk/STEER/AliESDEvent.h?root=AliRoot&r1=41914&r2=42199&pathrev=42199
+ if(lESDevent->IsPileupFromSPD() && !fkIsNuclear && fkRejectPileup ){// minContributors=3, minZdist=0.8, nSigmaZdist=3., nSigmaDiamXY=2., nSigmaDiamZ=5. -> see http://alisoft.cern.ch/viewvc/trunk/STEER/AliESDEvent.h?root=AliRoot&r1=41914&r2=42199&pathrev=42199
AliWarning("Pb / This is tagged as Pileup from SPD... return !");
PostData(1, fListHistV0);
PostData(2, fTree);
}
f2dHistMultiplicityVsVertexZNoTPCOnlyNoPileup->Fill( lMultiplicity, lPrimaryVtxPosition[2] );
fHistV0MultiplicityForSelEvtNoTPCOnlyNoPileup ->Fill( lNumberOfV0s );
+
fHistMultiplicityNoTPCOnlyNoPileup->Fill(lMultiplicity);
+ fHistMultiplicityV0ANoTPCOnlyNoPileup->Fill(lMultiplicityV0A);
+ fHistMultiplicityZNANoTPCOnlyNoPileup->Fill(lMultiplicityZNA);
+ fHistMultiplicityTRKNoTPCOnlyNoPileup->Fill(lMultiplicityTRK);
+ fHistMultiplicitySPDNoTPCOnlyNoPileup->Fill(lMultiplicitySPD);
+
f2dHistMultiplicityVsTrueNoTPCOnlyNoPileup->Fill ( lMultiplicity , lNumberOfCharged );
fHistGenVertexZNoTPCOnlyNoPileup->Fill( (mcPrimaryVtx.At(2)) );
//Do control histograms without the IsFromVertexerZ events, but consider them in analysis...
if ( lMCstack->IsPhysicalPrimary(iMc)!=kTRUE ) continue;
if( lPdgcodeCurrentPart == 3122 ){
- f3dHistPrimAnalysisPtVsYVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
- f3dHistPrimAnalysisPtVsYCMSVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NRaw
+ f3dHistPrimAnalysisPtVsYVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
+ f3dHistPrimAnalysisPtVsYCMSVsMultLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NTrue
+ f3dHistPrimAnalysisPtVsYVsMultMCLambda->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lNumberOfCharged);
+ //Other stuff
+ f3dHistPrimAnalysisPtVsYVsMultV0ALambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0ALambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYVsMultZNALambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNALambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYVsMultTRKLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYVsMultSPDLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
}
if( lPdgcodeCurrentPart == -3122 ){
- f3dHistPrimAnalysisPtVsYVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
- f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NRaw
+ f3dHistPrimAnalysisPtVsYVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
+ f3dHistPrimAnalysisPtVsYCMSVsMultAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NTrue
+ f3dHistPrimAnalysisPtVsYVsMultMCAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lNumberOfCharged);
+ //Other stuff
+ f3dHistPrimAnalysisPtVsYVsMultV0AAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYVsMultZNAAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYVsMultTRKAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYVsMultSPDAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDAntiLambda->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
+
}
if( lPdgcodeCurrentPart == 310 ){
- f3dHistPrimAnalysisPtVsYVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
- f3dHistPrimAnalysisPtVsYCMSVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NRaw
+ f3dHistPrimAnalysisPtVsYVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicity);
+ f3dHistPrimAnalysisPtVsYCMSVsMultK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicity);
+ //NTrue
+ f3dHistPrimAnalysisPtVsYVsMultMCK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lNumberOfCharged);
+ f3dHistPrimAnalysisPtVsYCMSVsMultMCK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lNumberOfCharged);
+ //Other Stuff
+ f3dHistPrimAnalysisPtVsYVsMultV0AK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYCMSVsMultV0AK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityV0A);
+ f3dHistPrimAnalysisPtVsYVsMultZNAK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYCMSVsMultZNAK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityZNA);
+ f3dHistPrimAnalysisPtVsYVsMultTRKK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYCMSVsMultTRKK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicityTRK);
+ f3dHistPrimAnalysisPtVsYVsMultSPDK0Short->Fill(lPtCurrentPart, lRapCurrentPart, lMultiplicitySPD);
+ f3dHistPrimAnalysisPtVsYCMSVsMultSPDK0Short->Fill(lPtCurrentPart, lRapCurrentPart+fpArapidityShift, lMultiplicitySPD);
}
}
lPtCurrentPart = lCurrentParticlePrimary->Pt();
f3dHistGenSelectedPtVsYVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
f3dHistGenSelectedPtVsYCMSVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
+ f3dHistGenSelectedPtVsYVsMultV0AXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityV0A);
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityV0A);
+ f3dHistGenSelectedPtVsYVsMultZNAXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityZNA);
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityZNA);
+ f3dHistGenSelectedPtVsYVsMultTRKXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityTRK);
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityTRK);
+ f3dHistGenSelectedPtVsYVsMultSPDXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicitySPD);
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicitySPD);
}
- if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){
+ if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){
lPtCurrentPart = lCurrentParticlePrimary->Pt();
f3dHistGenSelectedPtVsYVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
f3dHistGenSelectedPtVsYCMSVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
+ f3dHistGenSelectedPtVsYVsMultV0AXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityV0A);
+ f3dHistGenSelectedPtVsYCMSVsMultV0AXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityV0A);
+ f3dHistGenSelectedPtVsYVsMultZNAXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityZNA);
+ f3dHistGenSelectedPtVsYCMSVsMultZNAXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityZNA);
+ f3dHistGenSelectedPtVsYVsMultTRKXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicityTRK);
+ f3dHistGenSelectedPtVsYCMSVsMultTRKXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicityTRK);
+ f3dHistGenSelectedPtVsYVsMultSPDXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicitySPD);
+ f3dHistGenSelectedPtVsYCMSVsMultSPDXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicitySPD);
}
- // Omega Histograms
- if( lCurrentParticlePrimary->GetPdgCode() == 3334 ){
- lPtCurrentPart = lCurrentParticlePrimary->Pt();
- f3dHistGenSelectedPtVsYVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
- f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
- }
- if( lCurrentParticlePrimary->GetPdgCode() == -3334 ){
- lPtCurrentPart = lCurrentParticlePrimary->Pt();
- f3dHistGenSelectedPtVsYVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
- f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
- }
- }
+ }
}
//----- End Loop on primary Xi, Omega ----------------------------------------------------------
fTreeVariablePrimaryStatus = 0;
fTreeVariablePrimaryStatusMother = 0;
fTreeVariableV0CreationRadius = -1;
-
- Int_t lblPosV0Dghter = (Int_t) TMath::Abs( pTrack->GetLabel() );
+
+ fTreeVariableNegPhysicalStatus = 0;
+ fTreeVariablePosPhysicalStatus = 0;
+
+ Int_t lblPosV0Dghter = (Int_t) TMath::Abs( pTrack->GetLabel() );
Int_t lblNegV0Dghter = (Int_t) TMath::Abs( nTrack->GetLabel() );
TParticle* mcPosV0Dghter = lMCstack->Particle( lblPosV0Dghter );
Int_t lblMotherPosV0Dghter = mcPosV0Dghter->GetFirstMother() ;
Int_t lblMotherNegV0Dghter = mcNegV0Dghter->GetFirstMother();
+
+ if( lMCstack->IsPhysicalPrimary (lblNegV0Dghter) ) fTreeVariableNegPhysicalStatus = 1; //Is Primary!
+ if( lMCstack->IsSecondaryFromWeakDecay(lblNegV0Dghter) ) fTreeVariableNegPhysicalStatus = 2; //Weak Decay!
+ if( lMCstack->IsSecondaryFromMaterial (lblNegV0Dghter) ) fTreeVariableNegPhysicalStatus = 3; //Material Int!
+ if( lMCstack->IsPhysicalPrimary (lblPosV0Dghter) ) fTreeVariablePosPhysicalStatus = 1; //Is Primary!
+ if( lMCstack->IsSecondaryFromWeakDecay(lblPosV0Dghter) ) fTreeVariablePosPhysicalStatus = 2; //Weak Decay!
+ if( lMCstack->IsSecondaryFromMaterial (lblPosV0Dghter) ) fTreeVariablePosPhysicalStatus = 3; //Material Int!
+
if( lblMotherPosV0Dghter == lblMotherNegV0Dghter && lblMotherPosV0Dghter > -1 ){
//either label is fine, they're equal at this stage
TParticle* pThisV0 = lMCstack->Particle( lblMotherPosV0Dghter );
fTreeVariableAlphaV0 = lAlphaV0;
fTreeVariablePtArmV0 = lPtArmV0;
- //Official means of acquiring N-sigmas
+ if( fkDoNotCallTPCdEdx == kFALSE ){
+ //Official means of acquiring N-sigmas
fTreeVariableNSigmasPosProton = fPIDResponse->NumberOfSigmasTPC( pTrack, AliPID::kProton );
fTreeVariableNSigmasPosPion = fPIDResponse->NumberOfSigmasTPC( pTrack, AliPID::kPion );
fTreeVariableNSigmasNegProton = fPIDResponse->NumberOfSigmasTPC( nTrack, AliPID::kProton );
fTreeVariableNSigmasNegPion = fPIDResponse->NumberOfSigmasTPC( nTrack, AliPID::kPion );
-
+ }else{
+ fTreeVariableNSigmasPosProton = 0;
+ fTreeVariableNSigmasPosPion = 0;
+ fTreeVariableNSigmasNegProton = 0;
+ fTreeVariableNSigmasNegPion = 0;
+ }
+
//tDecayVertexV0[0],tDecayVertexV0[1],tDecayVertexV0[2]
Double_t lDistanceTravelled = TMath::Sqrt(
TMath::Power( tDecayVertexV0[0] - lBestPrimaryVtxPos[0] , 2) +
(fTreeVariableInvMassAntiLambda < lUpperLimitLambda && fTreeVariableInvMassAntiLambda > lLowerLimitLambda ) ||
(fTreeVariableInvMassK0s < lUpperLimitK0Short && fTreeVariableInvMassK0s > lLowerLimitK0Short ) ){
//Pre-selection in case this is AA...
- if( fkIsNuclear == kFALSE ) fTree->Fill();
+ if( fkIsNuclear == kFALSE && fkSpecialExecution == kFALSE ) fTree->Fill();
if( fkIsNuclear == kTRUE){
//If this is a nuclear collision___________________
// ... pre-filter with daughter eta selection only (not TPC)
- if ( TMath::Abs(fTreeVariableNegEta)<0.8 && TMath::Abs(fTreeVariablePosEta)<0.8 ) fTree->Fill();
+ if ( TMath::Abs(fTreeVariableNegEta)<0.8 && TMath::Abs(fTreeVariablePosEta)<0.8 && fkSpecialExecution == kFALSE ){
+ if( !fkSaveAssociatedOnly || (fkSaveAssociatedOnly &&( TMath::Abs(fTreeVariablePID) == 3122 || fTreeVariablePID==310 ) ))fTree->Fill();
+ }
}//end nuclear_____________________________________
}
}
+ //Special Execution: hypertriton exploration
+ if( lOnFlyStatus == 0 && fkSpecialExecution == kTRUE){
+ if ( TMath::Abs(fTreeVariableNegEta)<0.8 && TMath::Abs(fTreeVariablePosEta)<0.8 ){
+ if( !fkSaveAssociatedOnly || (fkSaveAssociatedOnly &&( TMath::Abs(fTreeVariablePID) == 1010010030 ) ) ) fTree->Fill();
+ }
+ }
//------------------------------------------------
// Fill tree over.