]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliEMCALPIDResponse.h
Adding AliVAODHeader
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEMCALPIDResponse.h
index e77128e4e7b566de3c8961620d9fc22d3cec4e03..ee5b9300df646cacabfc60315330e981c9aead47 100644 (file)
@@ -1,72 +1,60 @@
-#ifndef AliEMCALPIDResponse_h\r
-#define AliEMCALPIDResponse_h\r
-\r
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-//////////////////////////////////////////////////////////////////////////\r
-//                                                                      //\r
-// AliEMCALPIDResponse                                                  //\r
-//                                                                      //\r
-// EMCAL class to perfom PID                                            //\r
-// This is a prototype and still under development                      //\r
-//                                                                      //\r
-//                                                                      //\r
-//////////////////////////////////////////////////////////////////////////\r
-\r
-#include "AliPID.h"\r
-class TF1;\r
-\r
-class AliEMCALPIDResponse \r
-{\r
-public : \r
-    AliEMCALPIDResponse();    //ctor\r
-    AliEMCALPIDResponse( const AliEMCALPIDResponse& other);                //copy ructor\r
-    AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other);     //assignment operator\r
-\r
-    virtual ~AliEMCALPIDResponse() {;} //dtor\r
-  \r
-\r
-    // Getters\r
-    Int_t     GetPtBin(Float_t pt) const;\r
-    Int_t     GetNPtBins() const {return fNptBins;};\r
-\r
-    Float_t   GetLowEoP() const {return fLowEoP;};\r
-    Float_t   GetHighEoP() const {return fHighEoP;};\r
-\r
-    Double_t  GetExpectedSignal( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
-    Double_t  GetExpectedSigma ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
-    Double_t  GetNumberOfSigmas( Float_t pt,  Float_t eop, AliPID::EParticleType n,  Int_t charge) const;\r
-    Double_t  GetExpectedNorm  ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
-    Double_t  GetLowProb       ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
-    Double_t  GetHighProb      ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;\r
-\r
-    //Setters\r
-    void   SetPtBoundary();\r
-    void   SetParametrizations();\r
-\r
-    // EMCAL probability -> should go to another place?\r
-    Double_t ComputeEMCALProbability( Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;\r
-\r
-protected:\r
-  \r
-private:\r
-\r
-  TF1 *fNorm;                            // Gauss function for normalizing NON electron probabilities \r
-\r
-  static const Int_t fNptBins   = 6;     // number of momentum bins\r
-  static const Float_t fLowEoP  = 0.5;   // lower E/p threshold for NON electrons\r
-  static const Float_t fHighEoP = 1.5;   // upper E/p threshold for NON electrons\r
-\r
-  Float_t fPtCutMin[fNptBins+1];                       // min values for pt bins\r
-  Float_t fMeanEoP[2*AliPID::kSPECIES][fNptBins];      // mean value of E/p distribution (charge dependent)\r
-  Float_t fSigmaEoP[2*AliPID::kSPECIES][fNptBins];     // mean value of E/p distribution (charge dependent)\r
-  Float_t fProbLow[2*AliPID::kSPECIES][fNptBins];      // probability below E/p threshold for NON electrons (charge dependent)\r
-  Float_t fProbHigh[2*AliPID::kSPECIES][fNptBins];     // probability above E/p threshold for NON electrons (charge dependent)\r
-\r
-\r
-  ClassDef(AliEMCALPIDResponse, 1)\r
-};\r
-\r
-#endif // #ifdef AliEMCALPIDResponse_cxx\r
-\r
+#ifndef AliEMCALPIDResponse_h
+#define AliEMCALPIDResponse_h
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//////////////////////////////////////////////////////////////////////////
+//                                                                      //
+// AliEMCALPIDResponse                                                  //
+//                                                                      //
+// EMCAL class to perfom PID                                            //
+// This is a prototype and still under development                      //
+//                                                                      //
+// Author: Michael Weber (m.weber@cern.ch)                              //
+//////////////////////////////////////////////////////////////////////////
+
+#include "AliPID.h"
+#include <TVectorD.h>
+
+class TF1;
+
+class AliEMCALPIDResponse: public TObject 
+{
+public : 
+    AliEMCALPIDResponse();    //ctor
+    AliEMCALPIDResponse( const AliEMCALPIDResponse& other);                //copy ructor
+    AliEMCALPIDResponse &operator=( const AliEMCALPIDResponse& other);     //assignment operator
+
+    virtual ~AliEMCALPIDResponse();     //dtor
+  
+
+    // Getters
+    Double_t  GetNumberOfSigmas( Float_t pt,  Float_t eop, AliPID::EParticleType n,  Int_t charge) const;
+    Double_t  GetExpectedNorm  ( Float_t pt, AliPID::EParticleType n,  Int_t charge) const;
+  
+    //Setters
+    void   SetPIDParams(const TObjArray * params) { fkPIDParams = params; }
+    void   SetCentrality(Float_t currentCentrality) { fCurrCentrality = currentCentrality;}
+    
+
+    // EMCAL probability
+    Bool_t ComputeEMCALProbability(Int_t nSpecies, Float_t pt, Float_t eop, Int_t charge, Double_t *pEMCAL) const;
+
+protected:
+  
+private:
+
+  TF1 *fNorm;                            // Gauss function for normalizing NON electron probabilities 
+
+  Double_t fCurrCentrality;              // current (in the current event) centrality percentile 
+
+  const TObjArray *fkPIDParams;               // PID Params
+
+  const TVectorD* GetParams(Int_t nParticle, Float_t fPt, Int_t charge) const; 
+
+  ClassDef(AliEMCALPIDResponse, 2)
+};
+
+#endif // #ifdef AliEMCALPIDResponse_cxx
+