Since it contains fixes of coding rule violations, all classes are involved. Further...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpidTRD.h
index b2e4ee4..1e9ac5d 100644 (file)
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
-#ifndef __ALIHFEPIDTRD_H__
-#define __ALIHFEPIDTRD_H__
+#ifndef ALIHFEPIDTRD_H
+#define ALIHFEPIDTRD_H
 
- #ifndef __ALIHFEPIDBASE_H__
+ #ifndef ALIHFEPIDBASE_H
  #include "AliHFEpidBase.h"
  #endif
 
+class AliESDtrack;
 class AliVParticle;
+class TList;
+class TH2F;
 
 class AliHFEpidTRD : public AliHFEpidBase{
   public:
@@ -30,6 +33,11 @@ class AliHFEpidTRD : public AliHFEpidBase{
     enum{
       kThreshParams = 24
     };
+    enum{
+      kHistTRDSigV1 = 0,
+      kHistTRDSigV2 = 1,
+      kHistOverallSpecies = 2
+    };
     AliHFEpidTRD(const Char_t *name);
     AliHFEpidTRD(const AliHFEpidTRD &ref);
     AliHFEpidTRD& operator=(const AliHFEpidTRD &ref);
@@ -37,17 +45,27 @@ class AliHFEpidTRD : public AliHFEpidBase{
     
     virtual Bool_t InitializePID();
     virtual Int_t IsSelected(AliVParticle *track);
-    virtual Bool_t HasQAhistos() const { return kFALSE; };
+    virtual Bool_t HasQAhistos() const { return kTRUE; };
+
+    Double_t GetTRDSignalV1(AliESDtrack *track);
+    Double_t GetTRDSignalV2(AliESDtrack *track);
 
     void SetPIDMethod(PIDMethodTRD_t method) { fPIDMethod = method; };
   protected:
     void Copy(TObject &ref) const;
     Double_t GetTRDthresholds(Double_t electronEff, Double_t p);
+    Int_t GetMCpid(AliESDtrack *track);
     void InitParameters();
+    virtual void AddQAhistograms(TList *l);
     void GetParameters(Double_t electronEff, Double_t *parameters);
+
+    void FillHistogramsTRDSignalV1(Double_t signal, Double_t p, Int_t species);
+    void FillHistogramsTRDSignalV2(Double_t signal, Double_t p, Int_t species);
   private:
+    static const Double_t fgkVerySmall;                       // Check for 0
     PIDMethodTRD_t fPIDMethod;                              // PID Method: 2D Likelihood or Neural Network
     Double_t fThreshParams[kThreshParams];                  // Threshold parametrisation
+    TList *fContainer;                                      // QA  Histogram Container
   ClassDef(AliHFEpidTRD, 1)     // TRD electron ID class
 };