Radiator trasparency calculation updated
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDAnalysisTask.h
index 6714ee9..56cf981 100644 (file)
 #define ALIHMPIDANALYSISTASK_H
 
 #include "AliAnalysisTaskSE.h"
+#include "AliStack.h"
 
 class TH1;
-class TH2;
-class TParticle ;
-class AliStack ;
+class TParticle;
+class TFile;
 class AliESDtrack;
 class AliESDEvent;
 
@@ -43,33 +43,63 @@ class AliHMPIDAnalysisTask : public AliAnalysisTaskSE {
   virtual ~AliHMPIDAnalysisTask();
   
   virtual void   ConnectInputData(Option_t *);
-  virtual void   CreateOutputObjects();
-  virtual void   Exec(Option_t *option);
+  virtual void   UserCreateOutputObjects();
+  virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *);
+
+          void   SetUseMC(Bool_t useMC) { fUseMC = useMC; }
           Bool_t Equal(Double_t x, Double_t y, Double_t tolerance);
-  
+
  protected:
      
  private:     
  
-  void   SetTrigger(Int_t trigger) {fTrigger = trigger;}
-  AliESDEvent   *fESD;             //! ESD object
-  TList         *fHmpHistList ;    // list of histograms 
-  Int_t          fNevts       ;    //event numbering
-  Int_t          fTrigNevts   ;    //event numbering with the requested trigger
-  Int_t          fTrigger     ;    //requested trigger
+  AliESDEvent *fESD;               //! ESD object
+  AliMCEvent  *fMC;                //! MC event
+
+  Bool_t       fUseMC;             // decide whether use or not the MC information
+
+  TList         *fHmpHistList ;    // list of histograms
+
   TH2F          *fHmpPesdPhmp;     // HMP momentum vs ESD momentum
   TH2F          *fHmpCkovPesd;     // Ckov angle vs ESD momentum
   TH2F          *fHmpCkovPhmp;     // Ckov angle vs HMP momenutm
+
   TH1F          *fHmpMipTrkDist;   // Track-Mip distance distribution
   TH1F          *fHmpMipTrkDistX;  // Xtrk - Xmip
   TH1F          *fHmpMipTrkDistY;  // Ytrk - Ymip
-  TH1F          *fHmpMipCharge3cm; // Mip charge with 3 cm distance cut 
+  TH1F          *fHmpMipCharge3cm; // Mip charge with 3 cm distance cut
   TH1F          *fHmpMipCharge1cm; // Mip charge with 1 cm distance cut
   TH1F          *fHmpNumPhots;     // Number of reconstructed photo-electrons
   TH1F          *fHmpTrkFlags;     // track flags
-  
-  ClassDef(AliHMPIDAnalysisTask,2);
+
+  Int_t          fN1;              // number of points for pi and K
+  Int_t          fN2;              // number of point for p
+  TH1F          *fPionEff;         // identified pions
+  TH1F          *fKaonEff;         // identified kaons
+  TH1F          *fProtEff;         // identified protons
+  TH1I          *fPionTot;         // total pions
+  TH1I          *fKaonTot;         // total kaons
+  TH1I          *fProtTot;         // total protons
+  TH1F          *fPionNot;         // non-pion tracks
+  TH1F          *fKaonNot;         // non-kaon tracks
+  TH1F          *fProtNot;         // non-proton tracks
+  TH1I          *fPionCon;         // tracks identified as pions
+  TH1I          *fKaonCon;         // tracks identified as kaons
+  TH1I          *fProtCon;         // tracks identified as protons
+  TH2F          *fThetavsPiFromK;  // theta chkov of pis from Ks
+  TH2F          *fThetapivsPesd;   // theta chkov of pions vs Pesd
+  TH2F          *fThetaKvsPesd;    // theta chkov of kaons vs Pesd
+  TH2F          *fThetaPvsPesd;    // theta chkov of protons vs Pesd
+  TH1I          *fProtGen;         // generated protons from MC
+  TH1I          *fPbarGen;         // generated antiprotons from MC
+  TH1I          *fProtHmp;         // protons into the HMPID
+  TH1I          *fPbarHmp;         // antiprotons into the HMPID
+
+  TTree         *fTree;            // tree with useful data for subsequent analysis
+  Float_t        fVar[28];         // array of data to fill the tree
+
+  ClassDef(AliHMPIDAnalysisTask,4);
 };
 
 #endif