]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrBase/AliAnalysisTaskCounter.h
Centrality update (Alberica)
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / 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  private:  
27   AliAnalysisTaskCounter(const AliAnalysisTaskCounter&); // not implemented  
28   AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
29   
30  public: 
31   
32   virtual void UserCreateOutputObjects();  
33   virtual void UserExec(Option_t *option);  
34   virtual void FinishTaskOutput();  
35   
36   void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }  
37   void SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }  
38
39   void SwitchOnCaloFilterPatch()               { fCaloFilterPatch   = kTRUE  ; } 
40   void SwitchOffCaloFilterPatch()              { fCaloFilterPatch   = kFALSE ; }  
41   Bool_t IsCaloFilterPatchOn()                 { return fCaloFilterPatch     ; }   
42   
43   void AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; } 
44   void RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }  
45   Bool_t IsFastClusterAccepted()               { return fAcceptFastCluster   ; }   
46   
47   Bool_t CheckForPrimaryVertex() ;
48    
49  private: 
50   Bool_t               fAcceptFastCluster; // Accept events from fast cluster, exclude thiese events for LHC11a
51   Float_t              fZVertexCut;        // Z vertex cut  
52   Float_t              fTrackMultEtaCut;   // Track multiplicity eta cut  
53   Bool_t               fCaloFilterPatch;   // CaloFilter patch  
54   TList*               fOutputContainer;   //! Histogram container  
55   AliESDtrackCuts    * fESDtrackCuts;      // Track cut    
56   AliTriggerAnalysis * fTriggerAnalysis;   // Trigger algorithm 
57   
58   //Histograms
59   TH1I *  fhNEvents;      //! Events that delivers the analysis frame after different assumptions  
60   TH1F *  fhXVertex;      //! X Vertex distribution
61   TH1F *  fhYVertex;      //! Y Vertex distribution
62   TH1F *  fhZVertex;      //! Z Vertex distribution
63   TH1F *  fhXGoodVertex;  //! X Vertex good distribution
64   TH1F *  fhYGoodVertex;  //! Y Vertex good distribution
65   TH1F *  fhZGoodVertex;  //! Z Vertex good distribution  
66
67   ClassDef(AliAnalysisTaskCounter, 1);
68
69 };
70
71 #endif //ALIANALYSISTASKCOUNTER_H