]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliHFEpidTPC.h
TPC PID 2011 Pb-Pb
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEpidTPC.h
index 2b4f6716d3b37b4c6dadffdc0440d6aba27fff04..e9bdc23d6355d6403d8a9eb62311c892609da670 100644 (file)
@@ -63,6 +63,8 @@ class AliHFEpidTPC : public AliHFEpidBase{
     void SetLowerSigmaCutCentrality(const TF1 * const model, Int_t centralityBin) { if(centralityBin < 11) fkLowerSigmaCut[centralityBin+1] = model; fHasCutModel = kTRUE; }
     void SetEtaCorrection(const TF1 *const param) { fkEtaCorrection = param; }
     void SetCentralityCorrection(const TF1 *const param){ fkCentralityCorrection = param; }
+  void SetEtaCorrections(const TF1 *const mean, const TF1 *const wdth) { fkEtaMeanCorrection = mean; fkEtaWidthCorrection = wdth; }
+  void SetCentralityCorrections(const TF1 *const mean, const TF1 *const wdth) { fkCentralityMeanCorrection = mean; fkCentralityWidthCorrection = wdth; }
     void UsedEdx() { fUsedEdx = kTRUE; }
     void UseNSigma() { fUsedEdx = kFALSE; }
     Bool_t HasEtaCorrection() const { return fkEtaCorrection != NULL; }
@@ -72,6 +74,7 @@ class AliHFEpidTPC : public AliHFEpidBase{
     Double_t GetP(const AliVParticle *track, AliHFEpidObject::AnalysisType_t anaType) const;
     void ApplyEtaCorrection(AliVTrack *track, AliHFEpidObject::AnalysisType_t anatype) const;
     void ApplyCentralityCorrection(AliVTrack *track, Double_t centralityEstimator, AliHFEpidObject::AnalysisType_t anatype) const;
+    Double_t GetCorrectedTPCnSigma(Double_t eta, Double_t centralityEstimator, Double_t tpcNsigma) const;
     void UseOROC(AliVTrack *track, AliHFEpidObject::AnalysisType_t anatype) const;
 
   protected:
@@ -91,6 +94,10 @@ class AliHFEpidTPC : public AliHFEpidBase{
     const TF1 *fkLowerSigmaCut[12];                         // Lower Sigma Cut
     const TF1 *fkEtaCorrection;                             // Correction for the eta dependence
     const TF1 *fkCentralityCorrection;                      // Correction for the centrality dependence
+    const TF1 *fkEtaMeanCorrection;                         // Correct eta dependence of the mean of the TPC n sigma
+    const TF1 *fkEtaWidthCorrection;                        // Correct eta dependence of the width of the TPC n sigma
+    const TF1 *fkCentralityMeanCorrection;                  // Correct centrality dependence of the mean of the TPC n sigma
+    const TF1 *fkCentralityWidthCorrection;                 // Correct centrality dependence of the width of the TPC n sigma
     Bool_t fHasCutModel;                                    // Has cut model functions
     Bool_t fUseOnlyOROC;                                    // Use only OROC
     Float_t fPAsigCut[2];                                   // Momentum region where to perform asymmetric sigma cut
@@ -100,7 +107,7 @@ class AliHFEpidTPC : public AliHFEpidBase{
     UChar_t fRejectionEnabled;                              // Bitmap for enabled particle rejection
     Bool_t  fUsedEdx;                                       // Apply cut on dE/dx instead of number of sigmas
 
-  ClassDef(AliHFEpidTPC, 1)   // TPC Electron ID class
+  ClassDef(AliHFEpidTPC, 2)   // TPC Electron ID class
 };
 
 inline void AliHFEpidTPC::SetAsymmetricTPCsigmaCut(Float_t pmin, Float_t pmax, Float_t sigmaMin, Float_t sigmaMax) {