Removed maxinitFailed for plugin, updated cut for Gamma Conversion, some verbosity...
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskJetServices.h
CommitLineData
bf7b8731 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////////////////
16class AliJetHeader;
17class AliESDEvent;
6d597ca2 18class AliESDVertex;
bf7b8731 19class AliAODEvent;
6d597ca2 20class AliAODVertex;
bf7b8731 21class AliAODJet;
22class AliGenPythiaEventHeader;
23class AliCFManager;
24
25class TList;
26class TChain;
c0997643 27class TH1F;
bf7b8731 28class TH2F;
29class TH3F;
30class TProfile;
31
32
33
34class AliAnalysisTaskJetServices : public AliAnalysisTaskSE
35{
36 public:
37 AliAnalysisTaskJetServices();
38 AliAnalysisTaskJetServices(const char* name);
39 virtual ~AliAnalysisTaskJetServices() {;}
40 // Implementation of interface methods
41 virtual void UserCreateOutputObjects();
42 virtual void Init();
43 virtual void LocalInit() { Init(); }
44 virtual void UserExec(Option_t *option);
45 virtual void Terminate(Option_t *option);
c0997643 46 virtual void SetZVertexCut(Float_t f){fVtxZCut = f;}
d49d814a 47 virtual void SetPtMinCosmic(Float_t ptMin) {fPtMinCosmic = ptMin;}
48 virtual void SetRMinCosmic(Float_t rMin) {fRIsolMinCosmic = rMin;}
49 virtual void SetMaxCosmicAngle(Float_t angle) {fMaxCosmicAngle = angle;}
bf7b8731 50 virtual Bool_t Notify();
51
52 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
b5a3f310 53 virtual void SetRunRange(Float_t fLo,Float_t fUp){fRunRange[0] = fLo;fRunRange[1] = fUp;}
fe669ac6 54 virtual void SetRealData(Bool_t b){fRealData = b;}
cc0649e4 55 virtual void SetUsePhysicsSelection(Bool_t b){fUsePhysicsSelection = b;}
6d597ca2 56 Bool_t IsEventSelected(const AliESDEvent* esd);
57 Bool_t IsEventSelected(const AliAODEvent* aod) const;
58
59 Bool_t IsEventPileUp(const AliESDEvent* esd) const;
60
61 Bool_t IsEventCosmic(const AliESDEvent* esd) const;
bf7b8731 62
6d597ca2 63 Bool_t IsVertexValid(const AliESDVertex *vtx);
64 Bool_t IsVertexValid(const AliAODVertex *vtx) const;
65
66 Bool_t IsVertexIn(const AliESDVertex *vtx);
67 Bool_t IsVertexIn(const AliAODVertex *vtx) const;
68
69 enum { kAllTriggered = 0,kTriggeredVertex,kTriggeredVertexIn,kSelectedALICE,kSelectedALICEVertexValid,kSelectedALICEVertexIn,kSelected,kConstraints};
f2dd0695 70
6d597ca2 71 enum { kNoEventCut=1<<0,
72 kPhysicsSelectionCut=1<<1,
73 kContributorsCut1=1<<2,
74 kContributorsCut2=1<<3,
75 kContributorsCut3=1<<4,
76 kVertexTPC=1<<5,
77 kVertexSPD=1<<6,
78 kVertexGlobal=1<<7,
79 kSPDDispersionCut=1<<8,
80 kVertexZCut=1<<9,
81 kVertexRCut=1<<10,
82 kTotalEventCuts=(1<<11)-1};
f2dd0695 83
bf7b8731 84 private:
85
86 AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
87 AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
88
89 Bool_t fUseAODInput; // take jet from input AOD not from ouptu AOD
cc0649e4 90 Bool_t fUsePhysicsSelection;// decide wether we take into account physicsselction task
91 Bool_t fRealData; // true for real data to allow correct trigger slection
d49d814a 92 UInt_t fSelectionInfoESD; // slection info bit mask
6d597ca2 93 UInt_t fEventCutInfoESD; // event selection info of what is cutted after physics selection
bf7b8731 94 Float_t fAvgTrials; // Average number of trials
d49d814a 95 Float_t fVtxXMean; // mean x for cuts
96 Float_t fVtxYMean; // mean y for cuts
97 Float_t fVtxZMean; // mean z for cuts
98 Float_t fVtxRCut; // vtx cut in R
99 Float_t fVtxZCut; // vtzx cut in Z
100 Float_t fPtMinCosmic; // Minimum pT to be considered as cosmic candidate
101 Float_t fRIsolMinCosmic; // Minimum R = sqrt{deltaPhi^2 + deltaEta^2} to be considered as cosmic candidate
102 Float_t fMaxCosmicAngle; // Max deviation from pi (angle between two tracks) in case of cosmic candidate
b5a3f310 103 Float_t fRunRange[2]; // only important for real data for
bf7b8731 104 TProfile* fh1Xsec; // pythia cross section and trials
105 TH1F* fh1Trials; // trials are added
106 TH1F* fh1PtHard; // Pt har of the event...
107 TH1F* fh1PtHardTrials; // Number of trials
f2dd0695 108 TH1F* fh1SelectionInfoESD; // Masks that satisfy fSelectionInfo
6d597ca2 109 TH1F* fh1EventCutInfoESD; // Masks that satisfy fSelectionInfo
bf7b8731 110 TH2F* fh2TriggerCount; // number of fire triggers in each case
111 TH2F* fh2ESDTriggerCount; // number of fire triggers in each case
112 TH2F* fh2TriggerVtx; // vtx. position vs. trigger decision
d49d814a 113 TH2F* fh2ESDTriggerVtx; // vtx. position vs. trigger decision
114 TH2F* fh2ESDTriggerRun; // fired triggers vs. run number
115 TH2F* fh2VtxXY; // XY position of VTX were available
116 TH1F* fh1NCosmicsPerEvent; // Number of coscmic candidates found in event
bf7b8731 117 TList *fHistList; // Output list
118
6d597ca2 119 ClassDef(AliAnalysisTaskJetServices,7)
bf7b8731 120};
121
122#endif