]>
Commit | Line | Data |
---|---|---|
b16bb001 | 1 | #ifndef ALIJETEMBEDDINGFROMAODTASK_H |
2 | #define ALIJETEMBEDDINGFROMAODTASK_H | |
3 | ||
4 | // $Id: AliJetEmbeddingFromAODTask.h $ | |
5 | ||
6 | class TFile; | |
7 | class TObjArray; | |
8 | class TClonesArray; | |
9 | class TString; | |
10 | class AliVCaloCells; | |
11 | class AliVHeader; | |
12 | class TH2; | |
6a20534a | 13 | class TH1; |
4358e58a | 14 | class TLorentzVector; |
b16bb001 | 15 | |
16 | #include "AliJetModelBaseTask.h" | |
17 | ||
18 | class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask { | |
19 | public: | |
20 | AliJetEmbeddingFromAODTask(); | |
21 | AliJetEmbeddingFromAODTask(const char *name, Bool_t drawqa=kFALSE); | |
22 | virtual ~AliJetEmbeddingFromAODTask(); | |
23 | ||
24 | void UserCreateOutputObjects(); | |
25 | Bool_t UserNotify(); | |
26 | ||
27 | void SetFileList(TObjArray *list) { fFileList = list ; } | |
28 | void SetAODTreeName(const char *t) { fAODTreeName = t ; } | |
29 | void SetAODHeaderName(const char *t) { fAODHeaderName = t ; } | |
30 | void SetAODTracksName(const char *n) { fAODTrackName = n ; } | |
31 | void SetAODClusName(const char *n) { fAODClusName = n ; } | |
32 | void SetAODCellsName(const char *n) { fAODCellsName = n ; } | |
787a3c4f | 33 | void SetAODMCParticlesName(const char *n) { fAODMCParticlesName = n ; } |
b16bb001 | 34 | void SetCentralityRange(Double_t min, Double_t max) { fMinCentrality = min ; fMaxCentrality = max ; } |
35 | void SetTriggerMask(UInt_t mask) { fTriggerMask = mask ; } | |
36 | void SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0) { fAODfilterBits[0] = b0 ; fAODfilterBits[1] = b1 ; } | |
37 | void SetIncludeNoITS(Bool_t f) { fIncludeNoITS = f ; } | |
9adcb46d | 38 | void SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFractionSharedTPCClusters = c ; } |
5ce8ae64 | 39 | void SetUseNegativeLabels(Bool_t f) { fUseNegativeLabels = f ; } |
40 | void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = eff ; } | |
b16bb001 | 41 | void SetTotalFiles(Int_t n) { fTotalFiles = n ; } |
6a20534a | 42 | void SetAttempts(Int_t n) { fAttempts = n ; } |
43 | void SetRandomAccess(Bool_t r=kTRUE) { fRandomAccess = r ; } | |
4358e58a | 44 | void SetAODMC(Bool_t a) { fIsAODMC = a ; } |
45 | void SetJetMinPt(Double_t pt) { fJetMinPt = pt ; } | |
46 | void SetJetEtaRange(Double_t emi, Double_t ema) { fJetMinEta = emi; fJetMaxEta = ema; } | |
47 | void SetJetPhiRange(Double_t pmi, Double_t pma) { fJetMinPhi = pmi; fJetMaxPhi = pma; } | |
05077f28 | 48 | void SetJetConstituentMinPt(Double_t pt) { fJetConstituentMinPt= pt ; } |
4358e58a | 49 | void SetJetType(Byte_t t) { fJetType = t ; } |
50 | void SetJetAlgo(Byte_t t) { fJetAlgo = t ; } | |
fde82e42 | 51 | void SetZVertexCut(Double_t z) { fZVertexCut = z ; } |
b16bb001 | 52 | |
53 | protected: | |
6a20534a | 54 | Bool_t ExecOnce() ;// intialize task |
55 | void Run() ;// do jet model action | |
2103dc6a | 56 | virtual TFile *GetNextFile() ;// get next file from fFileList |
6a20534a | 57 | virtual Bool_t OpenNextFile() ;// open next file |
58 | virtual Bool_t GetNextEntry() ;// get next entry in current tree | |
59 | virtual Bool_t IsAODEventSelected() ;// AOD event trigger/centrality selection | |
4358e58a | 60 | TLorentzVector GetLeadingJet(TClonesArray *tracks, TClonesArray *clusters=0); // get the leading jet |
b16bb001 | 61 | |
6a20534a | 62 | TObjArray *fFileList ;// List of AOD files |
63 | Bool_t fRandomAccess ;// Random access to file number and event | |
787a3c4f | 64 | TString fAODTreeName ;// Name of the tree in the AOD file |
65 | TString fAODHeaderName ;// Name of the header in the AOD tree | |
66 | TString fAODVertexName ;// Name of the vertex branch in the AOD tree | |
67 | TString fAODTrackName ;// Name of the track collection branch in the AOD tree | |
68 | TString fAODClusName ;// Name of the cluster collection branch in the AOD tree | |
69 | TString fAODCellsName ;// Name of the cell collection branch in the AOD tree | |
70 | TString fAODMCParticlesName ;// Name of the cell collection branch in the AOD tree | |
71 | Double_t fMinCentrality ;// Minimum centrality | |
72 | Double_t fMaxCentrality ;// Maximum centrality | |
73 | UInt_t fTriggerMask ;// Trigger selection mask | |
74 | Double_t fZVertexCut ;// Z vertex cut | |
4358e58a | 75 | Double_t fJetMinPt ;// Select events with a minimum jet pt |
76 | Double_t fJetMinEta ;// Min eta for jets | |
77 | Double_t fJetMaxEta ;// Max eta for jets | |
78 | Double_t fJetMinPhi ;// Min phi for jets | |
79 | Double_t fJetMaxPhi ;// Max phi for jets | |
05077f28 | 80 | Double_t fJetConstituentMinPt ;// Jet constituent min pt |
4358e58a | 81 | Double_t fJetRadius ;// Jet radius |
82 | Byte_t fJetType ;// Jet type (0=full, 1=charged, 2=neutral) | |
83 | Byte_t fJetAlgo ;// Jet algorithm (0=kT, 1=anti-kT) | |
84 | Bool_t fJetParticleLevel ;// Trigger, look at particle level jets | |
787a3c4f | 85 | Int_t fAODfilterBits[2] ;// AOD track filter bit map |
86 | Bool_t fIncludeNoITS ;// True = includes tracks with failed ITS refit | |
9adcb46d | 87 | Double_t fCutMaxFractionSharedTPCClusters; // max fraction of shared TPC clusters |
5ce8ae64 | 88 | Bool_t fUseNegativeLabels ;// Whether or not should use negative MC labels |
89 | Double_t fTrackEfficiency ;// Track efficiency | |
4358e58a | 90 | Bool_t fIsAODMC ;// Whether the embedding AOD is MC or not |
787a3c4f | 91 | Int_t fTotalFiles ;// Total number of files per pt hard bin |
6a20534a | 92 | Int_t fAttempts ;// Attempts to be tried before giving up in opening the next file |
787a3c4f | 93 | Bool_t fEsdTreeMode ;//! True = embed from ESD (must be a skimmed ESD!) |
6a20534a | 94 | Int_t fCurrentFileID ;//! Current file being processed (via the event handler) |
787a3c4f | 95 | Int_t fCurrentAODFileID ;//! Current file ID |
96 | TFile *fCurrentAODFile ;//! Current open file | |
97 | Int_t fPicoTrackVersion ;//! Version of the PicoTrack class (if any) in fCurrentAODFile | |
6a20534a | 98 | TTree *fCurrentAODTree ;//! Current open tree |
787a3c4f | 99 | AliVHeader *fAODHeader ;//! AOD header |
100 | TClonesArray *fAODVertex ;//! AOD vertex | |
101 | TClonesArray *fAODTracks ;//! AOD track collection | |
102 | TClonesArray *fAODClusters ;//! AOD cluster collection | |
103 | AliVCaloCells *fAODCaloCells ;//! AOD cell collection | |
104 | TClonesArray *fAODMCParticles ;//! AOD MC particles collection | |
6a20534a | 105 | Int_t fCurrentAODEntry ;//! Current entry in the AOD tree |
106 | TH2 *fHistFileMatching ;//! Current file ID vs. AOD file ID (to be embedded) | |
107 | TH1 *fHistAODFileError ;//! AOD file ID (to be embedded) error | |
108 | TH1 *fHistNotEmbedded ;//! File ID not embedded | |
2103dc6a | 109 | TH1 *fHistEmbeddingQA ;//! Embedding QA |
b16bb001 | 110 | |
111 | private: | |
112 | AliJetEmbeddingFromAODTask(const AliJetEmbeddingFromAODTask&); // not implemented | |
113 | AliJetEmbeddingFromAODTask &operator=(const AliJetEmbeddingFromAODTask&); // not implemented | |
114 | ||
9adcb46d | 115 | ClassDef(AliJetEmbeddingFromAODTask, 9) // Jet embedding from AOD task |
b16bb001 | 116 | }; |
117 | #endif |