1 #ifndef ALIANALYSISTASKFASTEMBEDDING_H
2 #define ALIANALYSISTASKFASTEMBEDDING_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 #include "AliAnalysisTaskSE.h"
21 class AliAnalysisTaskFastEmbedding : public AliAnalysisTaskSE {
25 AliAnalysisTaskFastEmbedding();
26 AliAnalysisTaskFastEmbedding(const char *name);
27 AliAnalysisTaskFastEmbedding(const AliAnalysisTaskFastEmbedding ©);
28 AliAnalysisTaskFastEmbedding& operator=(const AliAnalysisTaskFastEmbedding &o);
29 virtual ~AliAnalysisTaskFastEmbedding();
31 virtual void UserCreateOutputObjects();
32 virtual void LocalInit() { Init(); }
34 virtual void UserExec(Option_t*);
35 virtual void Terminate(Option_t */*option*/);
37 void SetAODPath(TString path) {fAODPath = path;}
38 void SetArrayOfAODPaths(TObjArray* arr) {fAODPathArray = arr;}
39 void SetTrackBranch(TString name) {fTrackBranch = name;}
40 void SetMCparticlesBranch(TString name) {fMCparticlesBranch = name;}
41 void SetJetBranch(TString name) {fJetBranch = name;}
43 void SetEmbedMode(Int_t m) {fEmbedMode = m;}
44 Int_t GetEmbedMode() {return fEmbedMode;}
45 void SetEvtSelecMode(Int_t s) {fEvtSelecMode = s;}
46 Int_t GetEvtSelecMode() {return fEvtSelecMode;}
48 void SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt) {fEvtSelMinJetPt = minPt; fEvtSelMaxJetPt = maxPt;}
50 void SetToyNumberOfTrackRange(Int_t minN = 1, Int_t maxN = 1){ fToyMinNbOfTracks = minN, fToyMaxNbOfTracks = maxN; }
51 void SetToyTrackRanges(Double_t minPt = 50., Double_t maxPt = 50., Double_t ptDistr=0,
52 Double_t minEta = -.5, Double_t maxEta = .5,
53 Double_t minPhi = 0., Double_t maxPhi = 2*TMath::Pi())
55 fToyMinTrackPt = minPt; fToyMaxTrackPt = maxPt; fToyDistributionTrackPt = ptDistr;
56 fToyMinTrackEta = minEta; fToyMaxTrackEta = maxEta;
57 fToyMinTrackPhi = minPhi; fToyMaxTrackPhi = maxPhi;}
58 void SetToyFilterMap(UInt_t f) {fToyFilterMap = f;}
62 enum {kAODFull=0, kAODJetTracks, kAODJet4Mom, kToyTracks};
63 // event selection from AOD
64 enum {kEventsAll=0, kEventsJetPt};
69 AliAODEvent* fAODout; //! AOD out
70 AliAODEvent* fAODevent; //! AOD in
71 TTree* fAODtree; //! AODin tree
72 TFile* fAODfile; //! AODin file
73 TRandom3* rndm; //! random nummer generator
75 TObjArray* fAODPathArray; // array of paths of AOD in file
76 TString fAODPath; // path of AOD in file
78 TString fTrackBranch; // name of branch for extra tracks in AOD out
79 TString fMCparticlesBranch; // name of branch for extra mcparticles in AOD out
80 TString fJetBranch; // name of branch for extra jets AOD in
82 Int_t fEntry; // entry of extra AOD
87 // event selection from AOD
88 Float_t fEvtSelMinJetPt; // minimum pt of the leading jet
89 Float_t fEvtSelMaxJetPt; // maximum pt of the leading jet
90 // ... todo: eta, phi, ...
93 // settings for toy "track generation"
94 Int_t fToyMinNbOfTracks; // minimum nb. of tracks per event
95 Int_t fToyMaxNbOfTracks; // maximum nb. of tracks per event
96 Double_t fToyMinTrackPt; // minimum track pT
97 Double_t fToyMaxTrackPt; // maximum track pT
98 Double_t fToyDistributionTrackPt; // distribution of track pt
99 Double_t fToyMinTrackEta; // minimum eta of tracks
100 Double_t fToyMaxTrackEta; // maximum eta of tracks
101 Double_t fToyMinTrackPhi; // minimum phi of tracks
102 Double_t fToyMaxTrackPhi; // maximum phi of tracks
103 UInt_t fToyFilterMap; // filter map of tracks
107 TList *fHistList; // list of histograms
108 TH1F *fh1TrackPt; //! track pt
109 TH2F *fh2TrackEtaPhi; //! track eta-phi
110 TH1F *fh1TrackN; //! nb. of tracks
111 TH1F *fh1MCTrackPt; //! MC track pt
112 TH2F *fh2MCTrackEtaPhi; //! MC track eta-phi
113 TH1F *fh1MCTrackN; //! nb. of MC tracks
115 Int_t GetJobID(); // get job id (sub-job id on the GRID)
116 Int_t SelectAODfile();
120 ClassDef(AliAnalysisTaskFastEmbedding, 3);