1 #ifndef ALIANALYSISTASKJETSERVICES_H
2 #define ALIANALYSISTASKJETSERVICES_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // **************************************
8 // Task used for the correction of determiantion of reconstructed jet spectra
9 // Compares input (gen) and output (rec) jets
10 // *******************************************
12 #include "AliAnalysisTaskSE.h"
13 #include "THnSparse.h" // cannot forward declare ThnSparseF
20 class AliGenPythiaEventHeader;
32 class AliAnalysisTaskJetServices : public AliAnalysisTaskSE
35 AliAnalysisTaskJetServices();
36 AliAnalysisTaskJetServices(const char* name);
37 virtual ~AliAnalysisTaskJetServices() {;}
38 // Implementation of interface methods
39 virtual void UserCreateOutputObjects();
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();
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};
57 AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
58 AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
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
82 ClassDef(AliAnalysisTaskJetServices,4)