]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/CaloTrackCorrBase/AliAnalysisTaskCounter.h
Remove stale email recipient.
[u/mrichter/AliRoot.git] / PWG / CaloTrackCorrBase / AliAnalysisTaskCounter.h
CommitLineData
dd094cf8 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
12class TH1F;
13class TList;
14class AliESDtrackCuts;
99e2921c 15//class AliTriggerAnalysis;
dd094cf8 16
17#include "AliAnalysisTaskSE.h"
18
19class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
20
21 public:
22 AliAnalysisTaskCounter();
23 AliAnalysisTaskCounter(const char *name);
24 virtual ~AliAnalysisTaskCounter() ;
25
ed834a27 26 virtual void UserCreateOutputObjects();
27
46f9f991 28 virtual void UserExec(Option_t *option);
ed834a27 29
46f9f991 30 virtual void FinishTaskOutput();
dd094cf8 31
46f9f991 32 virtual Bool_t Notify();
ed834a27 33
34 static Bool_t PythiaInfoFromFile(TString currFile, Float_t & xsec, Float_t & trials) ;
46f9f991 35
ed834a27 36 void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta ; }
37 void SetZVertexCut(Float_t vcut) { fZVertexCut = vcut ; }
cd2e4ce6 38
ed834a27 39 void AcceptFastCluster() { fAcceptFastCluster = kTRUE ; }
40 void RejectFastCluster() { fAcceptFastCluster = kFALSE ; }
41 Bool_t IsFastClusterAccepted() const { return fAcceptFastCluster ; }
dd094cf8 42
ed834a27 43 Bool_t CheckForPrimaryVertex() ;
46f9f991 44
ed834a27 45 void SwitchOnMCCrossSectionCalculation() { fCheckMCCrossSection = kTRUE ; }
46 void SwitchOffMCCrossSectionCalculation() { fCheckMCCrossSection = kFALSE ; }
47
48 private:
49
cd2e4ce6 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
46f9f991 53 Float_t fAvgTrials; // avg trials
cd2e4ce6 54 TList* fOutputContainer; //! Histogram container
55 AliESDtrackCuts * fESDtrackCuts; // Track cut
99e2921c 56 //AliTriggerAnalysis * fTriggerAnalysis; // Trigger algorithm
46f9f991 57 TString fCurrFileName; // current file path name
ed834a27 58 Bool_t fCheckMCCrossSection; // retrieve from the pyxsec.root file only if requested
dd094cf8 59
60 //Histograms
61 TH1I * fhNEvents; //! Events that delivers the analysis frame after different assumptions
62 TH1F * fhXVertex; //! X Vertex distribution
63 TH1F * fhYVertex; //! Y Vertex distribution
64 TH1F * fhZVertex; //! Z Vertex distribution
65 TH1F * fhXGoodVertex; //! X Vertex good distribution
66 TH1F * fhYGoodVertex; //! Y Vertex good distribution
67 TH1F * fhZGoodVertex; //! Z Vertex good distribution
e19ca838 68 TH1F * fhCentrality; //! centrality
0792da48 69 TH1F * fhEventPlaneAngle; //! Histogram with Event plane angle
70
46f9f991 71 TH1F * fh1Xsec ; //! Xsec pythia
72 TH1F * fh1Trials ; //! trials pythia
73
d2655d46 74 AliAnalysisTaskCounter( const AliAnalysisTaskCounter&); // not implemented
c5693f62 75 AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
76
ed834a27 77 ClassDef(AliAnalysisTaskCounter, 6);
dd094cf8 78
79};
80
81#endif //ALIANALYSISTASKCOUNTER_H