]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HMPID/AliHMPIDAnalysisTask.h
Reverting...I was too fast
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDAnalysisTask.h
index 82819fb18b42270dba74ed8b4f5581012afc64be..56cf9810b04092632fa38417751382ed2ae4e798 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+//==============================================================================
+// AliHMPIDAnalysysTask - Class representing a basic analysis tool of HMPID data at  
+// level of ESD.
+// A set of histograms is created.
+//==============================================================================
 
-#ifndef AliHMPIDAnalysisTASK_H
-#define AliHMPIDAnalysisTASK_H
+#ifndef ALIHMPIDANALYSISTASK_H
+#define ALIHMPIDANALYSISTASK_H
 
 #include "AliAnalysisTaskSE.h"
+#include "AliStack.h"
 
-class TH1I;
-class TParticle ;
-class TFile ;
-class AliStack ;
+class TH1;
+class TParticle;
+class TFile;
 class AliESDtrack;
 class AliESDEvent;
 
@@ -33,39 +38,68 @@ class AliHMPIDAnalysisTask : public AliAnalysisTaskSE {
 
   AliHMPIDAnalysisTask();
   AliHMPIDAnalysisTask(const Char_t* name);
+  AliHMPIDAnalysisTask& operator= (const AliHMPIDAnalysisTask& c);
+  AliHMPIDAnalysisTask(const AliHMPIDAnalysisTask& c);
   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
-  TH2F          *fHmpInner;
-  TH2F          *fHmpPesdPhmp;
-  TH2F          *fHmpCkovPesd;
-  TH2F          *fHmpCkovPhmp;
-  
-  TH1F          *fHmpMipTrkDist;
-  TH1F          *fHmpMipTrkDistX;
-  TH1F          *fHmpMipTrkDistY;
-  TH1F          *fHmpMipCharge3cm;
-  TH1F          *fHmpMipCharge1cm;
-  TH1F          *fHmpNumPhots;
-  
-  TH1F          *fHmpTrkFlags;
-  
-  ClassDef(AliHMPIDAnalysisTask,2);
+  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          *fHmpMipCharge1cm; // Mip charge with 1 cm distance cut
+  TH1F          *fHmpNumPhots;     // Number of reconstructed photo-electrons
+  TH1F          *fHmpTrkFlags;     // track flags
+
+  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