ee350769bf1f3d04fab55f123bb08fa8a037a8f4
[u/mrichter/AliRoot.git] / ESDCheck / AliTRDQATask.h
1 #ifndef ALITRDQATASK_H
2 #define ALITRDQATASK_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 //______________________________________________________________________________
6 // An analysis task to check the TRD data in simulated data
7 // Starting from ESD
8 // Producing Histograms and plots
9 // Part of an analysis Train
10 //*-- Sylwester Radomski
11 //////////////////////////////////////////////////////////////////////////////
12
13 #include "AliAnalysisTask.h"  
14
15 class TTree; 
16 class AliESD; 
17 class TH1D; 
18 class TH2D;
19
20 class AliTRDQATask : public AliAnalysisTask {
21
22 public:
23   AliTRDQATask(const char *name);
24   AliTRDQATask(AliTRDQATask& trd) { new AliTRDQATask(trd.GetName());}
25   virtual ~AliTRDQATask() {}
26    
27   virtual void Exec(Option_t * opt = "");
28   virtual void ConnectInputData(Option_t *);
29   virtual void CreateOutputObjects();
30   virtual void Terminate(Option_t * opt = "");
31
32 private:
33
34   const int  GetSector(const double alpha) const;
35   const int  CheckSector(const int sector) const;
36   void CalculateEff();
37   void DrawESD() const ; 
38   void DrawGeoESD() const ; 
39   void DrawConvESD() const  ; 
40   void DrawPidESD() const ; 
41
42   TTree   * fChain;             //!pointer to the analyzed TTree or TChain
43   AliESD  * fESD;               //! Declaration of leave types
44
45   TObjArray * fOutputContainer; //! output data container
46
47   // options
48   int fConfSM; //!Super Module Configuration
49   
50   // Histograms
51   TH1D *fNTracks;     // Number of tracks
52   TH1D *fEventSize;   // Event size
53   TH1D *fTrackStatus; // Status of tracks
54
55   TH1D *fParIn;       // Par In
56   TH1D *fParOut;      // Par out
57   TH1D *fKinkIndex;   // Kink Index
58    
59   // TPC clusters histograms
60   //TH1D *fTpcNCls;
61   //TH1D *fTpcFCls;
62   //TH1D *fTpcRCls; 
63   
64   // last measurement X plane
65   TH1D *fXIn;        // input Xplane
66   TH1D *fXOut;       // output Xplane
67   
68   // sector
69   TH1D *fAlpha[4];   // alpha sectors
70   TH1D *fSectorTRD;  // TRD sectors
71  
72   //static const int knbits = 5;
73   
74   // track parameters
75   TH1D *fPt[6];      // Transverse momentum
76   TH1D *fTheta[6];   // Theta distribution
77   TH1D *fSigmaY[6];  // Sigma Y
78   TH1D *fChi2[6];    // Chi 2
79   TH2D *fPlaneYZ[6]; // YZ Plane
80
81   TH1D *fEffPt[4];   // Eff transverse momentum
82
83   // track features
84   TH1D *fClustersTRD[3]; // Clusters
85
86   // for good refitted tracks only
87   TH1D *fTime;           // time
88   TH1D *fBudget;         // Budget
89   TH1D *fQuality;        // Quality
90   TH1D *fSignal;         // Signal 
91
92   // PID for TPC and TRD  
93   TH2D *fTrdSigMom;      // Sig TRD
94   TH2D *fTpcSigMom;      // Sig TPC
95   
96   TH1D *fTrdPID[6];      // Pid TRD
97   TH2D *fTrdSigMomPID[6];// Pid TRD
98   
99   TH1D *fTpcPID[6];      // Pid TPC
100   TH2D *fTpcSigMomPID[6];// Pid TPC
101       
102   
103   ClassDef(AliTRDQATask, 0); // a TRD analysis task 
104 };
105 #endif // ALITRDQATASK_H