]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskJetServices.h
allow to select events with AliPhysicsSelection directly, added some control histos...
[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 TH2F;
26 class TH3F;
27 class TProfile;
28
29
30
31 class AliAnalysisTaskJetServices : public AliAnalysisTaskSE
32 {
33  public:
34     AliAnalysisTaskJetServices();
35     AliAnalysisTaskJetServices(const char* name);
36     virtual ~AliAnalysisTaskJetServices() {;}
37     // Implementation of interface methods
38     virtual void UserCreateOutputObjects();
39     virtual void Init();
40     virtual void LocalInit() { Init(); }
41     virtual void UserExec(Option_t *option);
42     virtual void Terminate(Option_t *option);
43     virtual void SetZVertexCut(Float_t f){fZVtxCut = f;}
44     virtual Bool_t Notify();
45
46     virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
47     virtual void SetRunRange(Float_t fLo,Float_t fUp){fRunRange[0] = fLo;fRunRange[1] = fUp;}
48     virtual void SetRealData(Bool_t b){fRealData = b;}
49     virtual void SetUsePhysicsSelection(Bool_t b){fUsePhysicsSelection = b;}
50     enum { kAllTriggered = 0,kTriggeredSPDVertex,kTriggeredVertexIn,kSelectedALICE,kSelectedALICEVertexIn,kSelected,kConstraints};
51
52  private:
53
54     AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
55     AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
56
57     Bool_t        fUseAODInput;        // take jet from input AOD not from ouptu AOD
58     Bool_t        fUsePhysicsSelection;// decide wether we take into account physicsselction task
59     Bool_t        fRealData;           // true for real data to allow correct trigger slection
60     Float_t       fAvgTrials;          // Average number of trials
61     Float_t       fZVtxCut;            // Average number of trials
62     Float_t       fRunRange[2];        // only important for real data for 
63     TProfile*     fh1Xsec;             // pythia cross section and trials
64     TH1F*         fh1Trials;           // trials are added
65     TH1F*         fh1PtHard;           // Pt har of the event...       
66     TH1F*         fh1PtHardTrials;     // Number of trials 
67     TH2F*         fh2TriggerCount;     // number of fire triggers in each case
68     TH2F*         fh2ESDTriggerCount;  // number of fire triggers in each case
69     TH2F*         fh2TriggerVtx;       // vtx. position vs. trigger decision
70     TH2F*         fh2ESDTriggerVtx;  // vtx. position vs. trigger decision 
71     TH2F*         fh2ESDTriggerRun;  // fired triggers vs. run number
72     TH2F*         fh2VtxXY;          // XY position of VTX were available
73     TList *fHistList; // Output list
74    
75     ClassDef(AliAnalysisTaskJetServices,3)
76 };
77  
78 #endif