#ifndef ALIANALYSISTASKFASTEMBEDDING_H
#define ALIANALYSISTASKFASTEMBEDDING_H
#include "AliAnalysisTaskSE.h"
class AliESDEvent;
class AliAODEvent;
class TTree;
class TFile;
class TChain;
class TObjArray;
class TObjString;
class TRandom3;
class TH1F;
class TH2F;
class TProfile;
class AliAODMCHeader;
class AliAnalysisTaskFastEmbedding : public AliAnalysisTaskSE {
public:
AliAnalysisTaskFastEmbedding();
AliAnalysisTaskFastEmbedding(const char *name);
AliAnalysisTaskFastEmbedding(const AliAnalysisTaskFastEmbedding ©);
AliAnalysisTaskFastEmbedding& operator=(const AliAnalysisTaskFastEmbedding &o);
virtual ~AliAnalysisTaskFastEmbedding();
virtual void UserCreateOutputObjects();
virtual void LocalInit() { Init(); }
virtual void Init();
virtual Bool_t UserNotify();
virtual void UserExec(Option_t*);
virtual void Terminate(Option_t *);
void SetAODPath(TString path) {fAODPath = path;}
void SetArrayOfAODPaths(TObjArray* arr) {fAODPathArray = arr;}
void SetArrayOfAODEntries(TArrayI* arr) {fAODEntriesArray = arr;}
void SetAODEntriesSum(Int_t i){ fAODEntriesSum = i;}
void SetAODEntriesMax(Int_t i){ fAODEntriesMax = i;}
virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; }
virtual void SetMinContribVtx(Int_t n) { fMinContribVtx = n; }
virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; }
virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; }
virtual void SetEvtClassMin(Int_t evtClass) { fEvtClassMin = evtClass; }
virtual void SetEvtClassMax(Int_t evtClass) { fEvtClassMax = evtClass; }
virtual void SetCentMin(Float_t cent) { fCentMin = cent; }
virtual void SetCentMax(Float_t cent) { fCentMax = cent; }
virtual void SetNInputTracksMin(Int_t nTr) { fNInputTracksMin = nTr; }
virtual void SetNInputTracksMax(Int_t nTr) { fNInputTracksMax = nTr; }
void SetTrackBranch(TString name) {fTrackBranch = name;}
void SetMCparticlesBranch(TString name) {fMCparticlesBranch = name;}
void SetJetBranch(TString name) {fJetBranch = name;}
void SetEmbedMode(Int_t m) {fEmbedMode = m;}
Int_t GetEmbedMode() const {return fEmbedMode;}
void SetEvtSelecMode(Int_t s) {fEvtSelecMode = s;}
Int_t GetEvtSelecMode() const {return fEvtSelecMode;}
void SetEvtSelJetPtRange(Float_t minPt, Float_t maxPt) {fEvtSelMinJetPt = minPt; fEvtSelMaxJetPt = maxPt;}
void SetEvtSelJetEtaRange(Float_t minEta, Float_t maxEta) {fEvtSelMinJetEta = minEta; fEvtSelMaxJetEta = maxEta;}
void SetEvtSelJetPhiRange(Float_t minPhi, Float_t maxPhi) {fEvtSelMinJetPhi = minPhi; fEvtSelMaxJetPhi = maxPhi;}
void SetEffExtra(Float_t effextra) {fExtraEffPb = effextra;}
void SetToyNumberOfTrackRange(Int_t minN = 1, Int_t maxN = 1){ fToyMinNbOfTracks = minN, fToyMaxNbOfTracks = maxN; }
void SetToyTrackRanges(Double_t minPt = 50., Double_t maxPt = 50., Double_t ptDistr=0,
Double_t minEta = -.5, Double_t maxEta = .5,
Double_t minPhi = 0., Double_t maxPhi = 2*TMath::Pi())
{
fToyMinTrackPt = minPt; fToyMaxTrackPt = maxPt; fToyDistributionTrackPt = ptDistr;
fToyMinTrackEta = minEta; fToyMaxTrackEta = maxEta;
fToyMinTrackPhi = minPhi; fToyMaxTrackPhi = maxPhi;}
void SetToyFilterMap(UInt_t f) {fToyFilterMap = f;}
void SetTrackFilterMap(UInt_t f) {fTrackFilterMap = f;}
static Float_t GetPtHard(Bool_t bSet=kFALSE, Float_t newValue = 0.);
virtual Int_t GetPtHardBin(Double_t ptHard);
virtual Bool_t PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials);
enum {kAODFull=0, kAODJetTracks, kAODJet4Mom, kToyTracks};
enum {kEventsAll=0, kEventsJetPt};
private:
AliESDEvent *fESD;
AliAODEvent *fAODout;
AliAODEvent *fAODevent;
TTree *fAODtree;
TFile *fAODfile;
AliAODMCHeader *mcHeader;
TRandom3 *rndm;
Int_t fInputEntries;
TObjArray *fAODPathArray;
TArrayI *fAODEntriesArray;
TString fAODPath;
Int_t fAODEntries;
Int_t fAODEntriesSum;
Int_t fAODEntriesMax;
AliVEvent::EOfflineTriggerTypes fOfflineTrgMask;
Int_t fMinContribVtx;
Float_t fVtxZMin;
Float_t fVtxZMax;
Int_t fEvtClassMin;
Int_t fEvtClassMax;
Float_t fCentMin;
Float_t fCentMax;
Int_t fNInputTracksMin;
Int_t fNInputTracksMax;
TString fTrackBranch;
TString fMCparticlesBranch;
TString fJetBranch;
Int_t fFileId;
Int_t fAODEntry;
Int_t fCountEvents;
Int_t fEmbedMode;
Int_t fEvtSelecMode;
Float_t fEvtSelMinJetPt;
Float_t fEvtSelMaxJetPt;
Float_t fEvtSelMinJetEta;
Float_t fEvtSelMaxJetEta;
Float_t fEvtSelMinJetPhi;
Float_t fEvtSelMaxJetPhi;
Double_t fExtraEffPb;
Int_t fToyMinNbOfTracks;
Int_t fToyMaxNbOfTracks;
Float_t fToyMinTrackPt;
Float_t fToyMaxTrackPt;
Float_t fToyDistributionTrackPt;
Float_t fToyMinTrackEta;
Float_t fToyMaxTrackEta;
Float_t fToyMinTrackPhi;
Float_t fToyMaxTrackPhi;
UInt_t fToyFilterMap;
UInt_t fTrackFilterMap;
Int_t fNPtHard;
Double_t fPtHard;
Int_t fPtHardBin;
TClonesArray* fAODJets;
Int_t fNevents;
Float_t fXsection;
Float_t fAvgTrials;
TList *fHistList;
TH1I *fHistEvtSelection;
TProfile *fh1Xsec;
TH1F *fh1Trials;
TH1F *fh1TrialsEvtSel;
TH2F *fh2PtHard;
TH2F *fh2PtHardEvtSel;
TH2F *fh2PtHardTrials;
TH1F *fh1TrackPt;
TH2F *fh2TrackEtaPhi;
TH1F *fh1TrackN;
TH1F *fh1JetPt;
TH2F *fh2JetEtaPhi;
TH1F *fh1JetN;
TH1F *fh1MCTrackPt;
TH2F *fh2MCTrackEtaPhi;
TH1F *fh1MCTrackN;
TH1I *fh1AODfile;
TH2I *fh2AODevent;
Int_t GetJobID();
Int_t SelectAODfile();
Int_t OpenAODfile(Int_t trial = 0);
ClassDef(AliAnalysisTaskFastEmbedding, 6);
};
#endif
AliAnalysisTaskFastEmbedding.h:1 AliAnalysisTaskFastEmbedding.h:2 AliAnalysisTaskFastEmbedding.h:3 AliAnalysisTaskFastEmbedding.h:4 AliAnalysisTaskFastEmbedding.h:5 AliAnalysisTaskFastEmbedding.h:6 AliAnalysisTaskFastEmbedding.h:7 AliAnalysisTaskFastEmbedding.h:8 AliAnalysisTaskFastEmbedding.h:9 AliAnalysisTaskFastEmbedding.h:10 AliAnalysisTaskFastEmbedding.h:11 AliAnalysisTaskFastEmbedding.h:12 AliAnalysisTaskFastEmbedding.h:13 AliAnalysisTaskFastEmbedding.h:14 AliAnalysisTaskFastEmbedding.h:15 AliAnalysisTaskFastEmbedding.h:16 AliAnalysisTaskFastEmbedding.h:17 AliAnalysisTaskFastEmbedding.h:18 AliAnalysisTaskFastEmbedding.h:19 AliAnalysisTaskFastEmbedding.h:20 AliAnalysisTaskFastEmbedding.h:21 AliAnalysisTaskFastEmbedding.h:22 AliAnalysisTaskFastEmbedding.h:23 AliAnalysisTaskFastEmbedding.h:24 AliAnalysisTaskFastEmbedding.h:25 AliAnalysisTaskFastEmbedding.h:26 AliAnalysisTaskFastEmbedding.h:27 AliAnalysisTaskFastEmbedding.h:28 AliAnalysisTaskFastEmbedding.h:29 AliAnalysisTaskFastEmbedding.h:30 AliAnalysisTaskFastEmbedding.h:31 AliAnalysisTaskFastEmbedding.h:32 AliAnalysisTaskFastEmbedding.h:33 AliAnalysisTaskFastEmbedding.h:34 AliAnalysisTaskFastEmbedding.h:35 AliAnalysisTaskFastEmbedding.h:36 AliAnalysisTaskFastEmbedding.h:37 AliAnalysisTaskFastEmbedding.h:38 AliAnalysisTaskFastEmbedding.h:39 AliAnalysisTaskFastEmbedding.h:40 AliAnalysisTaskFastEmbedding.h:41 AliAnalysisTaskFastEmbedding.h:42 AliAnalysisTaskFastEmbedding.h:43 AliAnalysisTaskFastEmbedding.h:44 AliAnalysisTaskFastEmbedding.h:45 AliAnalysisTaskFastEmbedding.h:46 AliAnalysisTaskFastEmbedding.h:47 AliAnalysisTaskFastEmbedding.h:48 AliAnalysisTaskFastEmbedding.h:49 AliAnalysisTaskFastEmbedding.h:50 AliAnalysisTaskFastEmbedding.h:51 AliAnalysisTaskFastEmbedding.h:52 AliAnalysisTaskFastEmbedding.h:53 AliAnalysisTaskFastEmbedding.h:54 AliAnalysisTaskFastEmbedding.h:55 AliAnalysisTaskFastEmbedding.h:56 AliAnalysisTaskFastEmbedding.h:57 AliAnalysisTaskFastEmbedding.h:58 AliAnalysisTaskFastEmbedding.h:59 AliAnalysisTaskFastEmbedding.h:60 AliAnalysisTaskFastEmbedding.h:61 AliAnalysisTaskFastEmbedding.h:62 AliAnalysisTaskFastEmbedding.h:63 AliAnalysisTaskFastEmbedding.h:64 AliAnalysisTaskFastEmbedding.h:65 AliAnalysisTaskFastEmbedding.h:66 AliAnalysisTaskFastEmbedding.h:67 AliAnalysisTaskFastEmbedding.h:68 AliAnalysisTaskFastEmbedding.h:69 AliAnalysisTaskFastEmbedding.h:70 AliAnalysisTaskFastEmbedding.h:71 AliAnalysisTaskFastEmbedding.h:72 AliAnalysisTaskFastEmbedding.h:73 AliAnalysisTaskFastEmbedding.h:74 AliAnalysisTaskFastEmbedding.h:75 AliAnalysisTaskFastEmbedding.h:76 AliAnalysisTaskFastEmbedding.h:77 AliAnalysisTaskFastEmbedding.h:78 AliAnalysisTaskFastEmbedding.h:79 AliAnalysisTaskFastEmbedding.h:80 AliAnalysisTaskFastEmbedding.h:81 AliAnalysisTaskFastEmbedding.h:82 AliAnalysisTaskFastEmbedding.h:83 AliAnalysisTaskFastEmbedding.h:84 AliAnalysisTaskFastEmbedding.h:85 AliAnalysisTaskFastEmbedding.h:86 AliAnalysisTaskFastEmbedding.h:87 AliAnalysisTaskFastEmbedding.h:88 AliAnalysisTaskFastEmbedding.h:89 AliAnalysisTaskFastEmbedding.h:90 AliAnalysisTaskFastEmbedding.h:91 AliAnalysisTaskFastEmbedding.h:92 AliAnalysisTaskFastEmbedding.h:93 AliAnalysisTaskFastEmbedding.h:94 AliAnalysisTaskFastEmbedding.h:95 AliAnalysisTaskFastEmbedding.h:96 AliAnalysisTaskFastEmbedding.h:97 AliAnalysisTaskFastEmbedding.h:98 AliAnalysisTaskFastEmbedding.h:99 AliAnalysisTaskFastEmbedding.h:100 AliAnalysisTaskFastEmbedding.h:101 AliAnalysisTaskFastEmbedding.h:102 AliAnalysisTaskFastEmbedding.h:103 AliAnalysisTaskFastEmbedding.h:104 AliAnalysisTaskFastEmbedding.h:105 AliAnalysisTaskFastEmbedding.h:106 AliAnalysisTaskFastEmbedding.h:107 AliAnalysisTaskFastEmbedding.h:108 AliAnalysisTaskFastEmbedding.h:109 AliAnalysisTaskFastEmbedding.h:110 AliAnalysisTaskFastEmbedding.h:111 AliAnalysisTaskFastEmbedding.h:112 AliAnalysisTaskFastEmbedding.h:113 AliAnalysisTaskFastEmbedding.h:114 AliAnalysisTaskFastEmbedding.h:115 AliAnalysisTaskFastEmbedding.h:116 AliAnalysisTaskFastEmbedding.h:117 AliAnalysisTaskFastEmbedding.h:118 AliAnalysisTaskFastEmbedding.h:119 AliAnalysisTaskFastEmbedding.h:120 AliAnalysisTaskFastEmbedding.h:121 AliAnalysisTaskFastEmbedding.h:122 AliAnalysisTaskFastEmbedding.h:123 AliAnalysisTaskFastEmbedding.h:124 AliAnalysisTaskFastEmbedding.h:125 AliAnalysisTaskFastEmbedding.h:126 AliAnalysisTaskFastEmbedding.h:127 AliAnalysisTaskFastEmbedding.h:128 AliAnalysisTaskFastEmbedding.h:129 AliAnalysisTaskFastEmbedding.h:130 AliAnalysisTaskFastEmbedding.h:131 AliAnalysisTaskFastEmbedding.h:132 AliAnalysisTaskFastEmbedding.h:133 AliAnalysisTaskFastEmbedding.h:134 AliAnalysisTaskFastEmbedding.h:135 AliAnalysisTaskFastEmbedding.h:136 AliAnalysisTaskFastEmbedding.h:137 AliAnalysisTaskFastEmbedding.h:138 AliAnalysisTaskFastEmbedding.h:139 AliAnalysisTaskFastEmbedding.h:140 AliAnalysisTaskFastEmbedding.h:141 AliAnalysisTaskFastEmbedding.h:142 AliAnalysisTaskFastEmbedding.h:143 AliAnalysisTaskFastEmbedding.h:144 AliAnalysisTaskFastEmbedding.h:145 AliAnalysisTaskFastEmbedding.h:146 AliAnalysisTaskFastEmbedding.h:147 AliAnalysisTaskFastEmbedding.h:148 AliAnalysisTaskFastEmbedding.h:149 AliAnalysisTaskFastEmbedding.h:150 AliAnalysisTaskFastEmbedding.h:151 AliAnalysisTaskFastEmbedding.h:152 AliAnalysisTaskFastEmbedding.h:153 AliAnalysisTaskFastEmbedding.h:154 AliAnalysisTaskFastEmbedding.h:155 AliAnalysisTaskFastEmbedding.h:156 AliAnalysisTaskFastEmbedding.h:157 AliAnalysisTaskFastEmbedding.h:158 AliAnalysisTaskFastEmbedding.h:159 AliAnalysisTaskFastEmbedding.h:160 AliAnalysisTaskFastEmbedding.h:161 AliAnalysisTaskFastEmbedding.h:162 AliAnalysisTaskFastEmbedding.h:163 AliAnalysisTaskFastEmbedding.h:164 AliAnalysisTaskFastEmbedding.h:165 AliAnalysisTaskFastEmbedding.h:166 AliAnalysisTaskFastEmbedding.h:167 AliAnalysisTaskFastEmbedding.h:168 AliAnalysisTaskFastEmbedding.h:169 AliAnalysisTaskFastEmbedding.h:170 AliAnalysisTaskFastEmbedding.h:171 AliAnalysisTaskFastEmbedding.h:172 AliAnalysisTaskFastEmbedding.h:173 AliAnalysisTaskFastEmbedding.h:174 AliAnalysisTaskFastEmbedding.h:175 AliAnalysisTaskFastEmbedding.h:176 AliAnalysisTaskFastEmbedding.h:177 AliAnalysisTaskFastEmbedding.h:178 AliAnalysisTaskFastEmbedding.h:179 AliAnalysisTaskFastEmbedding.h:180 AliAnalysisTaskFastEmbedding.h:181 AliAnalysisTaskFastEmbedding.h:182 AliAnalysisTaskFastEmbedding.h:183 AliAnalysisTaskFastEmbedding.h:184 AliAnalysisTaskFastEmbedding.h:185 AliAnalysisTaskFastEmbedding.h:186 AliAnalysisTaskFastEmbedding.h:187 AliAnalysisTaskFastEmbedding.h:188 AliAnalysisTaskFastEmbedding.h:189 AliAnalysisTaskFastEmbedding.h:190 AliAnalysisTaskFastEmbedding.h:191 AliAnalysisTaskFastEmbedding.h:192 AliAnalysisTaskFastEmbedding.h:193 AliAnalysisTaskFastEmbedding.h:194 AliAnalysisTaskFastEmbedding.h:195 AliAnalysisTaskFastEmbedding.h:196 AliAnalysisTaskFastEmbedding.h:197