]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/totEt/AliAnalysisEtReconstructed.h
o First Version of TRDnSigma implementation (Xianguo) o still requires some catching...
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtReconstructed.h
index 584290a52306aafeaa06fd05c1fe40672344c398..1868c056d55115962cbe5be631696be2170573e5 100644 (file)
@@ -9,7 +9,10 @@
 //_________________________________________________________________________
 
 #include "AliAnalysisEt.h"
-
+class TH2F;
+class TH3F;
+class TH2D;
+class TH2I;
 class AliVParticle;
 class AliESDEvent;
 class AliAnalysisHadEtCorrections;
@@ -18,7 +21,7 @@ class AliAnalysisEtReconstructed : public AliAnalysisEt
 {
 
 public:
-   
+
     AliAnalysisEtReconstructed();
     virtual ~AliAnalysisEtReconstructed();
 
@@ -28,39 +31,114 @@ public:
 
     /** 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);
 };