]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/CaloTrackCorrBase/AliAnalysisTaskCounter.h
comment
[u/mrichter/AliRoot.git] / PWG / CaloTrackCorrBase / AliAnalysisTaskCounter.h
1 #ifndef ALIANALYSISTASKCOUNTER_H
2 #define ALIANALYSISTASKCOUNTER_H
3
4 //_________________________________________________________________________
5 //
6 // Count events with different selections
7 //
8 // Author: Gustavo Conesa Balbastre (LPSC)
9 //
10 //_________________________________________________________________________
11
12 class TH1F;
13 class TList;
14 class AliESDtrackCuts;
15 class AliTriggerAnalysis;
16
17 #include "AliAnalysisTaskSE.h"
18
19 class AliAnalysisTaskCounter : public AliAnalysisTaskSE { 
20   
21  public:  
22   AliAnalysisTaskCounter();  
23   AliAnalysisTaskCounter(const char *name);  
24   virtual ~AliAnalysisTaskCounter() ;
25   
26   virtual void UserCreateOutputObjects();  
27   virtual void UserExec(Option_t *option);  
28   virtual void FinishTaskOutput();  
29   
30   void    SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }  
31   void    SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }  
32
33   void    SwitchOnCaloFilterPatch()               { fCaloFilterPatch   = kTRUE  ; } 
34   void    SwitchOffCaloFilterPatch()              { fCaloFilterPatch   = kFALSE ; }  
35   Bool_t  IsCaloFilterPatchOn()            const  { return fCaloFilterPatch     ; }   
36   
37   void    AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; } 
38   void    RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }  
39   Bool_t  IsFastClusterAccepted()       const     { return fAcceptFastCluster   ; }   
40   
41   Bool_t  CheckForPrimaryVertex() ;
42    
43  private: 
44   Bool_t               fAcceptFastCluster; // Accept events from fast cluster, exclude thiese events for LHC11a
45   Float_t              fZVertexCut;        // Z vertex cut  
46   Float_t              fTrackMultEtaCut;   // Track multiplicity eta cut  
47   Bool_t               fCaloFilterPatch;   // CaloFilter patch  
48   TList*               fOutputContainer;   //! Histogram container  
49   AliESDtrackCuts    * fESDtrackCuts;      // Track cut    
50   AliTriggerAnalysis * fTriggerAnalysis;   // Trigger algorithm 
51   
52   //Histograms
53   TH1I *  fhNEvents;      //! Events that delivers the analysis frame after different assumptions  
54   TH1F *  fhXVertex;      //! X Vertex distribution
55   TH1F *  fhYVertex;      //! Y Vertex distribution
56   TH1F *  fhZVertex;      //! Z Vertex distribution
57   TH1F *  fhXGoodVertex;  //! X Vertex good distribution
58   TH1F *  fhYGoodVertex;  //! Y Vertex good distribution
59   TH1F *  fhZGoodVertex;  //! Z Vertex good distribution  
60
61   AliAnalysisTaskCounter(const AliAnalysisTaskCounter&); // not implemented  
62   AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
63   
64   ClassDef(AliAnalysisTaskCounter, 1);
65
66 };
67
68 #endif //ALIANALYSISTASKCOUNTER_H