void FillAcceptanceHistograms();
void FillTrackMatchingShowerShapeControlHistograms(AliAODPWG4ParticleCorrelation * pCandidate,
- AliCaloPID * pid) ;
+ Int_t mcIndex) ;
- void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph ) ;
+ void MakeSeveralICAnalysis( AliAODPWG4ParticleCorrelation * ph, Int_t mcIndex ) ;
// Analysis Setters and Getters
TString GetCalorimeter() const { return fCalorimeter ; }
+ TString GetTriggerDetector() const { return fIsoDetector ; }
Int_t GetNCones() const { return fNCones ; }
Int_t GetNPtThresFrac() const { return fNPtThresFrac ; }
Float_t GetConeSizes(Int_t i) const { return fConeSizes[i] ; }
Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; }
Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; }
+ Int_t GetMCIndex(Int_t mcTag);
+
void SetCalorimeter(TString & det) { fCalorimeter = det ; }
+ void SetTriggerDetector(TString & det) { fIsoDetector = det ; }
void SetNCones(Int_t ncs) { fNCones = ncs ; }
void SetNPtThresFrac(Int_t npt) { fNPtThresFrac = npt ; }
void SetConeSizes(Int_t i, Float_t r) { fConeSizes[i] = r ; }
void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; }
void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; }
void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; }
-
-
+
Bool_t IsReIsolationOn() const { return fReMakeIC ; }
void SwitchOnReIsolation() { fReMakeIC = kTRUE ; }
void SwitchOffReIsolation() { fReMakeIC = kFALSE ; }
void SwitchOnSSHistoFill() { fFillSSHisto = kTRUE ; }
void SwitchOffSSHistoFill() { fFillSSHisto = kFALSE ; }
- //Histogrammes setters and getters
-
- void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ; }
-
- Int_t GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
- Float_t GetHistoPtSumMin() const { return fHistoPtSumMin ; }
- Float_t GetHistoPtSumMax() const { return fHistoPtSumMax ; }
+ void SwitchOnUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kTRUE ; }
+ void SwitchOffUEBandSubtractionHistoFill() { fFillUEBandSubtractHistograms = kFALSE ; }
+
+ void SwitchOnCellHistoFill() { fFillCellHistograms = kTRUE ; }
+ void SwitchOffCellHistoFill() { fFillCellHistograms = kFALSE; }
+
+ void SwitchOnHighMultiplicityHistoFill() { fFillHighMultHistograms = kTRUE ; }
+ void SwitchOffHighMultiplicityHistoFill() { fFillHighMultHistograms = kFALSE; }
+
+ void SwitchOnNLMHistoFill() { fFillNLMHistograms = kTRUE ; }
+ void SwitchOffNLMHistoFill() { fFillNLMHistograms = kFALSE; }
- void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
+ void SwitchOnDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kTRUE ; }
+ void SwitchOffDecayTaggedHistoFill() { fFillTaggedDecayHistograms = kFALSE; }
- Int_t GetHistoNPtInConeBins() const { return fHistoNPtInConeBins; }
- Float_t GetHistoPtInConeMin() const { return fHistoPtInConeMin ; }
- Float_t GetHistoPtInConeMax() const { return fHistoPtInConeMax ; }
+ // For primary histograms in arrays, index in the array, corresponding to a photon origin
+ enum mcPrimTypes { kmcPrimPhoton = 0, kmcPrimPi0Decay = 1, kmcPrimOtherDecay = 2,
+ kmcPrimPrompt = 3, kmcPrimFrag = 4, kmcPrimISR = 5 } ;
- // For histograms in arrays, index in the array, corresponding to a particle
- enum mcPTypes { kmcPPhoton = 0, kmcPPi0Decay = 1, kmcPOtherDecay = 2, kmcPOther = 3,
- kmcPPrompt = 4, kmcPFragmentation = 5, kmcPISR = 6 };
+ // For histograms in arrays, index in the array, corresponding to any particle origin
+ enum mcTypes { kmcPhoton = 0, kmcPrompt = 1, kmcFragment = 2,
+ kmcPi0 = 3, kmcPi0Decay = 4, kmcEtaDecay = 5, kmcOtherDecay = 6,
+ kmcElectron = 7, kmcHadron = 8 } ;
private:
TString fCalorimeter ; // Calorimeter where neutral particles in cone for isolation are;
+ TString fIsoDetector ; // Candidate particle for isolation detector ;
Bool_t fReMakeIC ; // Do isolation analysis
Bool_t fMakeSeveralIC ; // Do analysis for different IC
Bool_t fFillPileUpHistograms; // Fill pile-up related histograms
Bool_t fFillTMHisto; // Fill track matching plots
Bool_t fFillSSHisto; // Fill Shower shape plots
+ Bool_t fFillUEBandSubtractHistograms; // Fill histograms working on the UE subtraction
+ Bool_t fFillCellHistograms; // Fill cell histograms
+ Bool_t fFillHighMultHistograms; // Fill high multiplicity histograms
+ Bool_t fFillTaggedDecayHistograms; // Fill histograms for clusters tagged as decay
+ Bool_t fFillNLMHistograms; // Fill NLM histograms
// Analysis data members for multiple cones and pt thresholds
Int_t fNCones ; //! Number of cone sizes to test
TH2F * fhConeSumPtVSUEClusterPhiBand; //! fhConeSumPtVSUEClusterPhiBand
//MC
-
- TH2F * fhEtaPrimMC [7]; //! Pt vs Eta of generated photon
- TH2F * fhPhiPrimMC [7]; //! Pt vs Phi of generated photon
- TH1F * fhEPrimMC [7]; //! Number of generated photon vs E
- TH1F * fhPtPrimMCiso[7]; //! Number of generated isolated photon vs pT
- TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma
- TH2F * fhPhiIsoPrompt; //! Phi of isolated prompt gamma
- TH2F * fhEtaIsoPrompt; //! eta of isolated prompt gamma
- TH1F * fhPtThresIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt threshold
- TH1F * fhPtFracIsolatedPrompt[5][5]; //! Isolated prompt gamma with pt frac
- TH2F * fhPtSumIsolatedPrompt[5]; //! Isolated prompt gamma with threshold on cone pt sume
- TH1F * fhPtIsoFragmentation; //! Number of isolated fragmentation gamma
- TH2F * fhPhiIsoFragmentation; //! Phi of isolated fragmentation gamma
- TH2F * fhEtaIsoFragmentation; //! eta of isolated fragmentation gamma
- TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
- TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
- TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
- TH1F * fhPtIsoPi0; //! Number of isolated pi0 (2 gamma)
- TH2F * fhPhiIsoPi0; //! Phi of isolated pi0 (2 gamma)
- TH2F * fhEtaIsoPi0; //! eta of isolated pi0 (2 gamma)
- TH1F * fhPtThresIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt threshold
- TH1F * fhPtFracIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt frac
- TH2F * fhPtSumIsolatedPi0[5]; //! Isolated pi0 (2 gamma) with threshold on cone pt sum
- TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
- TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
- TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 decay gamma
- TH1F * fhPtThresIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt threshold
- TH1F * fhPtFracIsolatedPi0Decay[5][5]; //! Isolated pi0 decay gamma with pt frac
- TH2F * fhPtSumIsolatedPi0Decay[5]; //! Isolated pi0 decay gamma with threshold on cone pt sume
- TH1F * fhPtIsoEtaDecay; //! Number of isolated eta decay gamma
- TH2F * fhPhiIsoEtaDecay; //! Phi of isolated eta decay gamma
- TH2F * fhEtaIsoEtaDecay; //! eta of isolated eta decay gamma
- TH1F * fhPtThresIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt threshold
- TH1F * fhPtFracIsolatedEtaDecay[5][5]; //! Isolated eta decay gamma with pt frac
- TH2F * fhPtSumIsolatedEtaDecay[5]; //! Isolated eta fecay gamma with threshold on cone pt sume
- TH1F * fhPtIsoOtherDecay; //! Number of isolated other decay gamma
- TH2F * fhPhiIsoOtherDecay; //! Phi of isolated other decay gamma
- TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma
- TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold
- TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac
- TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume
-// TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma
-// TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma
-// TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma
-// TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold
-// TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac
-// TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume
- TH1F * fhPtIsoHadron; //! Number of isolated Hadron
- TH2F * fhPhiIsoHadron; //! Phi of isolated Hadron
- TH2F * fhEtaIsoHadron; //! eta of isolated Hadron
- TH1F * fhPtThresIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt threshold
- TH1F * fhPtFracIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt frac
- TH2F * fhPtSumIsolatedHadron[5]; //! Isolated Hadron gamma with threshold on cone pt sume
-
- // Multi Cut analysis Several IC
- TH1F * fhPtNoIsoPi0; //! Number of not isolated leading pi0 (2 gamma)
- TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
- TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
- TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
- TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
- TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
- TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
-// TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
- TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma
- TH1F * fhPtNoIsoHadron; //! Number of not isolated leading hadrons
+ //
+ TH2F * fhEtaPrimMC [6]; //! Pt vs Eta of generated photon
+ TH2F * fhPhiPrimMC [6]; //! Pt vs Phi of generated photon
+ TH1F * fhEPrimMC [6]; //! Number of generated photon vs E
+ TH1F * fhPtPrimMCiso[6]; //! Number of generated isolated photon vs pT
+ TH1F * fhPtNoIsoMC[9]; //! Number of not isolated mcTypes particle
+ TH1F * fhPtIsoMC [9]; //! Number of isolated mcTypes particle
+ TH2F * fhPhiIsoMC [9]; //! Phi of isolated mcTypes particle
+ TH2F * fhEtaIsoMC [9]; //! eta of isolated mcTypes particle
+
+ TH1F * fhPtDecayIsoMC[9] ; //! Number of isolated Pi0 decay particles (invariant mass tag) for a mcTypes particle
+ TH1F * fhPtDecayNoIsoMC[9] ; //! Number of not isolated Pi0 decay particles (invariant mass tag) for a mcTypes particle
+
+ TH2F * fhPtLambda0MC[9][2]; //! Shower shape of (non) isolated candidates originated by mcTypes particle (do not apply SS cut previously)
+
+ // Multiple cut analysis
TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone
TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone
TH2F * fhPerpSumPtLeadingPt[5] ; //! Sum Pt in the cone at the perpendicular phi region to trigger axis (phi +90)
TH1F * fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold
TH1F * fhPtFracIsolated[5][5] ; //! Isolated particle with pt threshold frac
- TH1F * fhPtSumIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
+ TH1F * fhSumPtIsolated[5][5] ; //! Isolated particle with threshold on cone pt sum
TH2F * fhEtaPhiPtThresIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
TH2F * fhEtaPhiPtThresDecayIso[5][5] ; //! eta vs phi of isolated particles with pt threshold
TH2F * fhEtaPhiFracPtSumIso[5][5]; //! Isolated particle with threshold on cone sum density
TH2F * fhEtaPhiFracPtSumDecayIso[5][5]; //! Isolated particle with threshold on cone sum density
+ // Multiple cut MC
+ TH1F * fhPtThresIsolatedMC[9][5][5]; //! Isolated mcTypes particle with pt threshold
+ TH1F * fhPtFracIsolatedMC [9][5][5]; //! Isolated mcTypes particle with pt frac
+ TH1F * fhSumPtIsolatedMC [9][5][5]; //! Isolated mcTypes particle with threshold on cone pt sum
+ TH2F * fhSumPtLeadingPtMC [9][5]; //! mcTypes particle for sum Pt, different cone
+
+
// Track matching studies
TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
TH2F * fhPtLambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously)
- TH2F * fhELambda0SSBkg; //! Shower shape of non isolated photons close to isolation threshold (do not apply SS cut previously)
TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
TH2F * fhPtLambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
- TH2F * fhELambda0MCPhoton[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
- TH2F * fhPtLambda0MCPhotonPrompt[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
- TH2F * fhPtLambda0MCPhotonFrag[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
- TH2F * fhELambda0MCPi0[2]; //! Shower shape of (non) isolated photon candidates originated by particle 2 merged pi0 photons (do not apply SS cut previously)
- TH2F * fhELambda0MCPi0Decay[2]; //! Shower shape of (non) isolated photon candidates originated by particle pi0 decay photon (do not apply SS cut previously)
- TH2F * fhELambda0MCEtaDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle eta decay photon (do not apply SS cut previously)
- TH2F * fhELambda0MCOtherDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle other decay photon (do not apply SS cut previously)
- TH2F * fhELambda0MCHadron[2]; //! Shower shape of (non) isolated photon candidates originated by particle other hadrons (do not apply SS cut previously)
// Local maxima
TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
TH2F * fhTimePileUpMainVertexZDistance; //! time of cluster vs difference of z main vertex and pile-up vertex
TH2F * fhTimePileUpMainVertexZDiamond; //! time of cluster vs difference of z diamond and pile-up vertex
- //Histograms settings
- Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms
- Float_t fHistoPtSumMax; // PtSum maximum in histogram
- Float_t fHistoPtSumMin; // PtSum minimum in histogram
- Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram
- Float_t fHistoPtInConeMax; // PtInCone maximum in histogram
- Float_t fHistoPtInConeMin; // PtInCone maximum in histogram
-
AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
- ClassDef(AliAnaParticleIsolation,25)
+ ClassDef(AliAnaParticleIsolation,27)
} ;