]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskJetServices.h
adding cosmics selection (Marta)
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskJetServices.h
1 #ifndef ALIANALYSISTASKJETSERVICES_H
2 #define ALIANALYSISTASKJETSERVICES_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 // **************************************
8 // Task used for the correction of determiantion of reconstructed jet spectra
9 // Compares input (gen) and output (rec) jets   
10 // *******************************************
11
12 #include  "AliAnalysisTaskSE.h"
13 #include  "THnSparse.h" // cannot forward declare ThnSparseF
14
15 ////////////////
16 class AliJetHeader;
17 class AliESDEvent;
18 class AliAODEvent;
19 class AliAODJet;
20 class AliGenPythiaEventHeader;
21 class AliCFManager;
22
23 class TList;
24 class TChain;
25 class TH1F;
26 class TH2F;
27 class TH3F;
28 class TProfile;
29
30
31
32 class AliAnalysisTaskJetServices : public AliAnalysisTaskSE
33 {
34  public:
35     AliAnalysisTaskJetServices();
36     AliAnalysisTaskJetServices(const char* name);
37     virtual ~AliAnalysisTaskJetServices() {;}
38     // Implementation of interface methods
39     virtual void UserCreateOutputObjects();
40     virtual void Init();
41     virtual void LocalInit() { Init(); }
42     virtual void UserExec(Option_t *option);
43     virtual void Terminate(Option_t *option);
44     virtual void SetZVertexCut(Float_t f){fVtxZCut = f;}
45     virtual Bool_t Notify();
46
47     virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
48     virtual void SetRunRange(Float_t fLo,Float_t fUp){fRunRange[0] = fLo;fRunRange[1] = fUp;}
49     virtual void SetRealData(Bool_t b){fRealData = b;}
50     virtual void SetUsePhysicsSelection(Bool_t b){fUsePhysicsSelection = b;}
51     Bool_t IsEventSelectedESD(AliESDEvent* esd);
52     Bool_t IsEventPileUpESD(AliESDEvent* esd);
53     Bool_t IsEventCosmicESD(AliESDEvent* esd);
54     Bool_t IsEventSelectedAOD(AliAODEvent* aod);
55     enum { kAllTriggered = 0,kTriggeredVertex,kTriggeredVertexIn,kSelectedALICE,kSelectedALICEVertexIn,kSelected,kConstraints};
56
57
58
59  private:
60
61     AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
62     AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
63
64     Bool_t        fUseAODInput;        // take jet from input AOD not from ouptu AOD
65     Bool_t        fUsePhysicsSelection;// decide wether we take into account physicsselction task
66     Bool_t        fRealData;           // true for real data to allow correct trigger slection
67     UInt_t        fSelectionInfoESD;      // slection info bit mask
68     Float_t       fAvgTrials;          // Average number of trials
69     Float_t       fVtxXMean;          // mean x for cuts
70     Float_t       fVtxYMean;          // mean y for cuts
71     Float_t       fVtxZMean;          // mean z for cuts
72     Float_t       fVtxRCut;           // vtx cut in R
73     Float_t       fVtxZCut;           // vtzx cut in Z
74     Float_t       fRunRange[2];        // only important for real data for 
75     TProfile*     fh1Xsec;             // pythia cross section and trials
76     TH1F*         fh1Trials;           // trials are added
77     TH1F*         fh1PtHard;           // Pt har of the event...       
78     TH1F*         fh1PtHardTrials;     // Number of trials 
79     TH1F*         fh1SelectionInfoESD; // Masks that satisfy fSelectionInfo
80     TH2F*         fh2TriggerCount;     // number of fire triggers in each case
81     TH2F*         fh2ESDTriggerCount;  // number of fire triggers in each case
82     TH2F*         fh2TriggerVtx;       // vtx. position vs. trigger decision
83     TH2F*         fh2ESDTriggerVtx;  // vtx. position vs. trigger decision 
84     TH2F*         fh2ESDTriggerRun;  // fired triggers vs. run number
85     TH2F*         fh2VtxXY;          // XY position of VTX were available
86     TList *fHistList; // Output list
87    
88     ClassDef(AliAnalysisTaskJetServices,5)
89 };
90  
91 #endif