]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/AliAnalysisTaskFastEmbedding.h
Partial restoration of the par file functionallity
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskFastEmbedding.h
CommitLineData
b725dccf 1#ifndef ALIANALYSISTASKFASTEMBEDDING_H
2#define ALIANALYSISTASKFASTEMBEDDING_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9#include "AliAnalysisTaskSE.h"
10
11class AliAODEvent;
12class TTree;
13class TFile;
14class TChain;
15class TObjArray;
16class TObjString;
17class TRandom3;
18class TH1F;
19class TH2F;
20
21class AliAnalysisTaskFastEmbedding : public AliAnalysisTaskSE {
22
23 public:
24
25 AliAnalysisTaskFastEmbedding();
26 AliAnalysisTaskFastEmbedding(const char *name);
27 AliAnalysisTaskFastEmbedding(const AliAnalysisTaskFastEmbedding &copy);
28 AliAnalysisTaskFastEmbedding& operator=(const AliAnalysisTaskFastEmbedding &o);
29 virtual ~AliAnalysisTaskFastEmbedding();
30
31 virtual void UserCreateOutputObjects();
32 virtual void Init();
33 virtual void UserExec(Option_t*);
34 virtual void Terminate(Option_t */*option*/);
35
36 void SetAODPath(TString path) {fAODPath = path;}
37 void SetArrayOfAODPaths(TObjArray* arr) {fAODPathArray = arr;}
38 void SetTrackBranch(TString name) {fTrackBranch = name;}
39 void SetMCparticlesBranch(TString name) {fMCparticlesBranch = name;}
40
41 void SetNEntriesPerJob(Int_t n) {fNEntriesPerJob = n;}
42 Int_t GetNEntriesPerJob() { return fNEntriesPerJob;}
43
44 void SetEmbedMode(Int_t m) {fEmbedMode = m;}
45 Int_t GetEmbedMode() {return fEmbedMode;}
46 void SetEvtSelecMode(Int_t s) {fEvtSelecMode = s;}
47 Int_t GetEvtSelecMode() {return fEvtSelecMode;}
48
49 void SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt) {fEvtSelMinJetPt = minPt; fEvtSelMaxJetPt = maxPt;}
50
51 void SetToyNumberOfTrackRange(Int_t minN = 1, Int_t maxN = 1){ fToyMinNbOfTracks = minN, fToyMaxNbOfTracks = maxN; }
52 void SetToyTrackRanges(Double_t minPt = 50., Double_t maxPt = 50., Double_t ptDistr=0,
53 Double_t minEta = -.5, Double_t maxEta = .5,
54 Double_t minPhi = 0., Double_t maxPhi = 2*TMath::Pi())
55 {
56 fToyMinTrackPt = minPt; fToyMaxTrackPt = maxPt; fToyDistributionTrackPt = ptDistr;
57 fToyMinTrackEta = minEta; fToyMaxTrackEta = maxEta;
58 fToyMinTrackPhi = minPhi; fToyMaxTrackPhi = maxPhi;}
59 void SetToyFilterMap(UInt_t f) {fToyFilterMap = f;}
60
61
62 // embedding modes
63 enum {kAODFull=0, kAODJetTracks, kAODJet4Mom, kToyTracks};
64 // event selection from AOD
65 enum {kEventsAll=0, kEventsJetPt};
66
67
68 private:
69
70 AliAODEvent* fAODout; //! AOD out
71 AliAODEvent* fAODevent; //! AOD in
72 TTree* fAODtree; //! AODin tree
73 TFile* fAODfile; //! AODin file
74 TRandom3* rndm; //! random nummer generator
75
76 TObjArray* fAODPathArray; // array of paths of AOD in file
77 TString fAODPath; // path of AOD in file
78
79 TString fTrackBranch; // name of branch for extra tracks in AOD out
80 TString fMCparticlesBranch; // name of branch for extra mcparticles in AOD out
81
82 Int_t fEntry; // entry of extra AOD
83 Int_t fJobId; // (sub-)job counter
84 Int_t fNEntriesPerJob; // number of entries of extra AOD used per (sub-)job
85
86 Int_t fEmbedMode;
87 Int_t fEvtSelecMode;
88
89 // event selection from AOD
90 Float_t fEvtSelMinJetPt; // minimum pt of the leading jet
91 Float_t fEvtSelMaxJetPt; // maximum pt of the leading jet
92 // ... todo: eta, phi, ...
93
94
95 // settings for toy "track generation"
96 Int_t fToyMinNbOfTracks; // minimum nb. of tracks per event
97 Int_t fToyMaxNbOfTracks; // maximum nb. of tracks per event
98 Double_t fToyMinTrackPt; // minimum track pT
99 Double_t fToyMaxTrackPt; // maximum track pT
100 Double_t fToyDistributionTrackPt; // distribution of track pt
101 Double_t fToyMinTrackEta; // minimum eta of tracks
102 Double_t fToyMaxTrackEta; // maximum eta of tracks
103 Double_t fToyMinTrackPhi; // minimum phi of tracks
104 Double_t fToyMaxTrackPhi; // maximum phi of tracks
105 UInt_t fToyFilterMap; // filter map of tracks
106
107
108 // qa histos
109 TList *fHistList; // list of histograms
110 TH1F *fh1TrackPt; //! track pt
111 TH2F *fh2TrackEtaPhi; //! track eta-phi
112 TH1F *fh1TrackN; //! nb. of tracks
113 TH1F *fh1MCTrackPt; //! MC track pt
114 TH2F *fh2MCTrackEtaPhi; //! MC track eta-phi
115 TH1F *fh1MCTrackN; //! nb. of MC tracks
116
117 // NEEDS TO BE TESTED
118 //Int_t GetJobID(); // get job id (i.e. aliencounter on the GRID) // not tested yet
119
120
121 ClassDef(AliAnalysisTaskFastEmbedding, 1);
122};
123
124#endif
125