Updating track cuts and removing functionality that is now in separate cosmics tasks
[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;
18class AliAODEvent;
19class AliAODJet;
20class AliGenPythiaEventHeader;
21class AliCFManager;
22
23class TList;
24class TChain;
c0997643 25class TH1F;
bf7b8731 26class TH2F;
27class TH3F;
28class TProfile;
29
30
31
32class 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);
c0997643 44 virtual void SetZVertexCut(Float_t f){fVtxZCut = f;}
bf7b8731 45 virtual Bool_t Notify();
46
47 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
b5a3f310 48 virtual void SetRunRange(Float_t fLo,Float_t fUp){fRunRange[0] = fLo;fRunRange[1] = fUp;}
fe669ac6 49 virtual void SetRealData(Bool_t b){fRealData = b;}
cc0649e4 50 virtual void SetUsePhysicsSelection(Bool_t b){fUsePhysicsSelection = b;}
c0997643 51 Bool_t IsEventSelectedESD(AliESDEvent* esd);
f2dd0695 52 Bool_t IsEventPileUpESD(AliESDEvent* esd);
53 Bool_t IsEventCosmicESD(AliESDEvent* esd);
c0997643 54 Bool_t IsEventSelectedAOD(AliAODEvent* aod);
55 enum { kAllTriggered = 0,kTriggeredVertex,kTriggeredVertexIn,kSelectedALICE,kSelectedALICEVertexIn,kSelected,kConstraints};
bf7b8731 56
f2dd0695 57
58
bf7b8731 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
cc0649e4 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
f2dd0695 67 UInt_t fSelectionInfoESD; // slection info bit mask
bf7b8731 68 Float_t fAvgTrials; // Average number of trials
c0997643 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
b5a3f310 74 Float_t fRunRange[2]; // only important for real data for
bf7b8731 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
f2dd0695 79 TH1F* fh1SelectionInfoESD; // Masks that satisfy fSelectionInfo
bf7b8731 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
b5a3f310 84 TH2F* fh2ESDTriggerRun; // fired triggers vs. run number
85 TH2F* fh2VtxXY; // XY position of VTX were available
bf7b8731 86 TList *fHistList; // Output list
87
f2dd0695 88 ClassDef(AliAnalysisTaskJetServices,5)
bf7b8731 89};
90
91#endif