//_________________________________________________________________________
#include "AliAnalysisEt.h"
-
+class TH2F;
+class TH3F;
+class TH2D;
+class TH2I;
class AliVParticle;
class AliESDEvent;
class AliAnalysisHadEtCorrections;
{
public:
-
+
AliAnalysisEtReconstructed();
virtual ~AliAnalysisEtReconstructed();
/** Fill the objects you want to output, classes which add new histograms should overload this. */
virtual void FillOutputList(TList *list);
- void SetCorrections(AliAnalysisHadEtCorrections *corr){fCorrections = corr;}
+ void SetCorrections(AliAnalysisHadEtCorrections *corr) {
+ fCorrections = corr;
+ }
/** Create the histograms, must be overloaded if you want to add your own */
virtual void CreateHistograms();
+
+ Float_t GetNumberOfChargedHadronsMatched(){return nChargedHadronsMeasured;}
+ Float_t GetTotalNumberOfChargedHadrons(){return nChargedHadronsTotal;}
+ void SetEMinCorrection(const Double_t factor) { fEMinCorrection = factor; }
+
protected:
bool CheckGoodVertex(AliVParticle *track);
virtual bool TrackHitsCalorimeter(AliVParticle *track, Double_t magField);
- AliAnalysisHadEtCorrections *fCorrections;//corrections needed for hadronic et
+ virtual Double_t GetCorrectionModification(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+
+ AliAnalysisHadEtCorrections *fCorrections;//!//corrections needed for hadronic et
Double_t fPidCut; // cut on the pid probability
-
- Char_t fClusterType; // selection on cluster type
-
- TH2F *fHistChargedPionEnergyDeposit; /** Energy deposited in calorimeter by charged pions */
- TH2F *fHistProtonEnergyDeposit; /** Energy deposited in calorimeter by protons */
- TH2F *fHistAntiProtonEnergyDeposit; /** Energy deposited in calorimeter by anti-protons */
- TH2F *fHistChargedKaonEnergyDeposit; /** Energy deposited in calorimeter by charged kaons */
- TH2F *fHistMuonEnergyDeposit; /** Energy deposited in calorimeter by muons */
+ Float_t nChargedHadronsMeasured;
+ Float_t nChargedHadronsTotal;
- TH1F *fHistRemovedEnergy; // removed energy
+ TH2F *fHistChargedPionEnergyDeposit;//! /** Energy deposited in calorimeter by charged pions */
+ TH2F *fHistProtonEnergyDeposit;//! /** Energy deposited in calorimeter by protons */
+ TH2F *fHistAntiProtonEnergyDeposit;//! /** Energy deposited in calorimeter by anti-protons */
+ TH2F *fHistChargedKaonEnergyDeposit;//! /** Energy deposited in calorimeter by charged kaons */
+ TH2F *fHistMuonEnergyDeposit;//! /** Energy deposited in calorimeter by muons */
+ TH1F *fHistRemovedEnergy;//! // removed energy
+
Double_t fGeomCorrection; // geometry correction
Double_t fEMinCorrection; // Emin correction
- private:
+ Double_t fRecEffCorrection; // Eff correction
+ TH2D *fClusterPositionAccepted;//! // Position of clusters
+ TH2D *fClusterPositionAll;//! // Position of clusters
+ TH2D *fClusterPositionAcceptedEnergy;//! // Position of clusters
+ TH2D *fClusterPositionAllEnergy;//! // Position of clusters
+ TH1F *fClusterEnergy;//! // Distribution of cluster energies
+ TH2F *fClusterEnergyCent;//! // Distribution of cluster energies vs centrality bin
+ TH2F *fClusterEnergyModifiedTrackMatchesCent;//! // Distribution of cluster energies vs centrality bin
+ TH2F *fClusterEnergyCentMatched;//! // Distribution of cluster energies vs centrality bin
+ TH2F *fClusterEnergyCentNotMatched;//! // Distribution of cluster energies vs centrality bin
+ TH1F *fClusterEt;//! // Distribution of cluster energies
+
+ TH2D *fHistChargedEnergyRemoved;//! // Charged energy removed
+ TH2D *fHistNeutralEnergyRemoved;//! // Neutral energy removed
+ TH2D *fHistGammaEnergyAdded;//! // gamma energy added
+
+ TH3F *fHistMatchedTracksEvspTvsCent;//! //For measuring hadron deposits
+ TH3F *fHistMatchedTracksEvspTvsCentEffCorr;//! //For measuring hadron deposits
+ TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr;//! //For measuring hadron deposits
+ TH3F *fHistPeripheralMatchedTracksEvspTvsCentEffTMCorr;//! //For measuring hadron deposits - uses peripheral bins and different centralities' efficiences
+ TH3F *fHistMatchedTracksEvspTvsCentEffTMCorr500MeV;//! //For measuring hadron deposits
+ TH2F *fHistFoundHadronsvsCent;//! //For measuring hadron deposits
+ TH2F *fHistNotFoundHadronsvsCent;//! //For measuring hadron deposits
+ TH2F *fHistFoundHadronsEtvsCent;//! //For measuring hadron deposits
+ TH2F *fHistNotFoundHadronsEtvsCent;//! //For measuring hadron deposits
+ TH2F *fHistFoundHadronsvsCent500MeV;//! //For measuring hadron deposits
+ TH2F *fHistNotFoundHadronsvsCent500MeV;//! //For measuring hadron deposits
+ TH2F *fHistFoundHadronsEtvsCent500MeV;//! //For measuring hadron deposits
+ TH2F *fHistNotFoundHadronsEtvsCent500MeV;//! //For measuring hadron deposits
+ TH2D *fHistNominalRawEt;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
+ TH2D *fHistNominalNonLinHighEt;//!//Total ET from clusters with nominal reconstruction efficiency and high bound of nonlinearity correction vs centrality
+ TH2D *fHistNominalNonLinLowEt;//!//Total ET from clusters with nominal reconstruction efficiency and low bound of nonlinearity correction vs centrality
+ TH2D *fHistNominalEffHighEt;//!//Total ET from clusters with high bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
+ TH2D *fHistNominalEffLowEt;//!//Total ET from clusters with low bound on reconstruction efficiency and nominal nonlinearity correction vs centrality
+
+ TH2F *fHistTotRawEtEffCorr;//! // gamma efficiency applied
+ TH2F *fHistTotRawEt;//! //no gamma efficiency applied
+ TH2F *fHistTotRawEtEffCorr500MeV;//!//Total ET from clusters with nominal reconstruction efficiency and nonlinearity correction vs centrality
+ TH2F *fHistTotAllRawEt;//! // all clusters no reco eff
+ TH2F *fHistTotAllRawEtEffCorr;//! // all clusters reco eff applied
+ Double_t ApplyModifiedCorrections(const AliESDCaloCluster& cluster,Int_t nonLinCorr, Int_t effCorr, Int_t cent);//nonLinCorr 0 = nominal 1 = high -1 = low, effCorr 0 = nominal 1 = high -1 = low
+
+ TH3F *fHistNClustersPhosVsEmcal;//! // all clusters no reco eff
+ TH2F *fHistClusterSizeVsCent;//! // all clusters no reco eff
+ TH2F *fHistMatchedClusterSizeVsCent;//! // all clusters no reco eff
+ TH2F *fHistTotAllRawEtVsTotalPt;//! // all clusters no reco eff
+ //fHistTotAllRawEtVsTotalPtCent
+ TH3F *fHistTotAllRawEtVsTotalPtVsCent;//! // all clusters no reco eff
+ TH3F *fHistTotMatchedRawEtVsTotalPtVsCent;//! // all clusters no reco eff
+ TH2F *fHistPIDProtonsTrackMatchedDepositedVsNch;//!
+ TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNch;//!
+ TH2F *fHistPIDProtonsTrackMatchedDepositedVsNcl;//!
+ TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNcl;//!
+ TH2F *fHistPiKPTrackMatchedDepositedVsNch;//!
+ TH2F *fHistPIDProtonsTrackMatchedDepositedVsNchNoEff;//!
+ TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNchNoEff;//!
+ TH2F *fHistPIDProtonsTrackMatchedDepositedVsNclNoEff;//!
+ TH2F *fHistPIDAntiProtonsTrackMatchedDepositedVsNclNoEff;//!
+ TH2F *fHistPiKPTrackMatchedDepositedVsNchNoEff;//!
+ TH3F *fHistCentVsNchVsNclReco;//!
+
+ TH1F *fHistRawSignalReco;//!
+ TH1F *fHistEffCorrSignalReco;//!
+ TH3F *fHistRecoRCorrVsPtVsCent;//! // enter comment here
+
+private:
+
AliAnalysisEtReconstructed(const AliAnalysisEtReconstructed& g);
AliAnalysisEtReconstructed & operator=(const AliAnalysisEtReconstructed&);
-
- Double_t CalcTrackClusterDistance(const Float_t pos[3],Int_t *trkMatchId, const AliESDEvent *event);
+
+
ClassDef(AliAnalysisEtReconstructed, 1);
};