]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskJetServices.h
Possibility to copy the number of the TPC clusters from an AOD track to an ESD track...
[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 IsEventSelectedAOD(AliAODEvent* aod);
53     enum { kAllTriggered = 0,kTriggeredVertex,kTriggeredVertexIn,kSelectedALICE,kSelectedALICEVertexIn,kSelected,kConstraints};
54
55  private:
56
57     AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
58     AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
59
60     Bool_t        fUseAODInput;        // take jet from input AOD not from ouptu AOD
61     Bool_t        fUsePhysicsSelection;// decide wether we take into account physicsselction task
62     Bool_t        fRealData;           // true for real data to allow correct trigger slection
63     Float_t       fAvgTrials;          // Average number of trials
64     Float_t       fVtxXMean;          // mean x for cuts
65     Float_t       fVtxYMean;          // mean y for cuts
66     Float_t       fVtxZMean;          // mean z for cuts
67     Float_t       fVtxRCut;           // vtx cut in R
68     Float_t       fVtxZCut;           // vtzx cut in Z
69     Float_t       fRunRange[2];        // only important for real data for 
70     TProfile*     fh1Xsec;             // pythia cross section and trials
71     TH1F*         fh1Trials;           // trials are added
72     TH1F*         fh1PtHard;           // Pt har of the event...       
73     TH1F*         fh1PtHardTrials;     // Number of trials 
74     TH2F*         fh2TriggerCount;     // number of fire triggers in each case
75     TH2F*         fh2ESDTriggerCount;  // number of fire triggers in each case
76     TH2F*         fh2TriggerVtx;       // vtx. position vs. trigger decision
77     TH2F*         fh2ESDTriggerVtx;  // vtx. position vs. trigger decision 
78     TH2F*         fh2ESDTriggerRun;  // fired triggers vs. run number
79     TH2F*         fh2VtxXY;          // XY position of VTX were available
80     TList *fHistList; // Output list
81    
82     ClassDef(AliAnalysisTaskJetServices,4)
83 };
84  
85 #endif