]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliHFEtrdPIDqa.h
add EMCal trigger in eh analysis. add hists. in Raa study
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEtrdPIDqa.h
index 76257597e3b81a242859d809272d6b3e5acdefc3..805c30c0d6b8052bd8dc9402e9317aeffb5e6769 100644 (file)
@@ -69,24 +69,28 @@ class AliHFEtrdPIDqa : public TNamed{
     void ProcessTrack(const AliVTrack *const track, Int_t species);
 
     void Init();
-    void FinishAnalysis();
+    void FinishAnalysis(Int_t fCentrality = -1, Bool_t isGreaterEqual = kFALSE);
     void ShowMessages() { fShowMessage = kTRUE; }
     void SetTotalChargeInSlice0() { fTotalChargeInSlice0 = kTRUE; }
+    void SetCentralityBin(Int_t centrality) { fCentralityBin = centrality; };
     void StoreResults(const Char_t *filename = "HFEtrdPIDqa.root");
-    void SaveThresholdParameters(const Char_t * filename = "TRD.Thresholds.root", Double_t lowerLimit = 0.5, Double_t upperLimit = 3.5);
+    void SaveThresholdParameters(const Char_t * filename = "TRD.Thresholds.root", Double_t lowerLimit = 0.5, Double_t upperLimit = 3.5, Int_t fCentrality = -1);
 
-    TGraphErrors *GetPionEfficiency(Int_t ntracklets, Int_t eleffpercent);
-    TGraphErrors *GetProtonEfficiency(Int_t ntracklets, Int_t eleffpercent);
-    TGraph *GetThreshold(Int_t ntracklets, Int_t eleffpercent);
+    TGraphErrors *GetPionEfficiency(Int_t ntracklets, Int_t eleffpercent, Int_t centrality = -1);
+    TGraphErrors *GetProtonEfficiency(Int_t ntracklets, Int_t eleffpercent, Int_t centrality = -1);
+    TGraph *GetThreshold(Int_t ntracklets, Int_t eleffpercent, Int_t centrality = -1);
 
-    void DrawTracklet(Int_t tracklet, Double_t pmin = -1., Double_t pmax = -1., Bool_t doFit = kFALSE);
+    void DrawTracklet(Int_t tracklet, Double_t pmin = -1., Double_t pmax = -1., Int_t centrality = -1, Bool_t doFit = kFALSE);
+    //void DrawTrackletsame(Int_t tracklet, Double_t pmin = -1., Double_t pmax = -1., Bool_t doFit = kFALSE);
     void ClearLists();
 
-    Double_t EvalPionEfficiency(Int_t ntls, Int_t eEff, Double_t p);
-    Double_t EvalProtonEfficiency(Int_t ntls, Int_t eEff, Double_t p);
-    Double_t EvalThreshold(Int_t ntls, Int_t eEff, Double_t p);
+    Double_t EvalPionEfficiency(Int_t ntls, Int_t eEff, Double_t p, Int_t centrality = -1);
+    Double_t EvalProtonEfficiency(Int_t ntls, Int_t eEff, Double_t p, Int_t centrality = -1);
+    Double_t EvalThreshold(Int_t ntls, Int_t eEff, Double_t p, Int_t centrality = -1);
+
+    Double_t CalculateIntegratedPionEfficiency(UInt_t nTracklets, Double_t electronEff, Double_t pmin, Double_t pmax, Int_t icentrality =-1, Double_t *error = NULL);
+
 
-    Double_t CalculateIntegratedPionEfficiency(UInt_t nTracklets, Double_t electronEff, Double_t pmin, Double_t pmax, Double_t *error = NULL);
 
     //---------------------------------------------------
     // Getters for Histograms
@@ -115,24 +119,28 @@ class AliHFEtrdPIDqa : public TNamed{
     enum QuantitiesLike_t{
       kElectronLike = 3,
       kNClustersLike = 4,
-      kQuantitiesLike = 5
+      kCentralityBinLike = 5,
+      kQuantitiesLike = 6
     };
     enum QuantitiesQAtrack_t{
       kNonZeroTrackletCharge = 3,
       kNClusters = 4,
-      kQuantitiesQA = 5
+      kCentralityBinQA = 5,
+      kQuantitiesQA = 6
     };
     enum QuantitiesdEdx_t{
       kNclusters = 3,
       kNonZeroSlices = 4,
       kdEdx = 5,
-      kQuantitiesdEdx = 6
+      kCentralityBindEdx = 6,
+      kQuantitiesdEdx = 7
     };
     enum QuantitiesTruncMean_t{
       kTPCdEdx = 3,
       kTRDdEdxMethod1 = 4,
       kTRDdEdxMethod2 = 5,
-      kQuantitiesTruncMean = 6
+      kCentralityBinTruncMean = 6,
+      kQuantitiesTruncMean = 7
     };
 
     void ProcessTrackESD(const AliESDtrack * const track, Int_t species);
@@ -141,8 +149,9 @@ class AliHFEtrdPIDqa : public TNamed{
     void FillTRDLikelihoods(const AliESDtrack * const track, Int_t species);
     void FillTRDQAplots(const AliESDtrack *const track, Int_t species);
 
-    void AnalyseNTracklets(Int_t nTracklets);
+    void AnalyseNTracklets(Int_t nTracklets, Int_t fCentrality = -1, Bool_t isGreaterEqual = kFALSE);
     Double_t CalculateHadronEfficiency(const TH1 * const hadron, const TH1 *const electron, Double_t eff, Int_t &threshbin, Double_t &error);
+    Double_t EstimateThresholdError(const TH1 * const electron, Int_t threshbin);
     TF1 *MakeThresholds(TGraph *input, Double_t lowerLimit, Double_t upperLimit);
 
     void CreateLikelihoodHistogram();
@@ -168,9 +177,11 @@ class AliHFEtrdPIDqa : public TNamed{
 
     TList *fThresholds;           //! List for Threshold Graphs
 
-    Bool_t fShowMessage;         // Display debug messages
+    Bool_t fShowMessage;          // Display debug messages
     Bool_t fTotalChargeInSlice0;  // Flag for Foreward/Backward compatibility in TRD total charge calculation
-  
+
+    Int_t  fCentralityBin;         // Centrality Bin
+
   ClassDef(AliHFEtrdPIDqa, 3)     // QA class for TRD PID 
 };
 #endif