#ifndef ALIDNDPTTRACKDUMPTASK_H
#define ALIDNDPTTRACKDUMPTASK_H
class AliESDEvent;
class AliMCEvent;
class AliFilteredTreeEventCuts;
class AliFilteredTreeAcceptanceCuts;
class AliESDtrackCuts;
class AliMagFMaps;
class AliESDEvent;
class AliMCEvent;
class AliKFParticle;
class AliESDv0;
class AliExternalTrackParam;
class AliESDtrack;
class AliESDfriendTrack;
class AliESDVertex;
class AliStack;
class TList;
class TObjArray;
class TTree;
class TTreeSRedirector;
class TParticle;
class TH3D;
#include "AliTriggerAnalysis.h"
#include "AliAnalysisTaskSE.h"
class AliAnalysisTaskFilteredTree : public AliAnalysisTaskSE {
public:
enum EAnalysisMode { kInvalidAnalysisMode=-1,
kTPCITSAnalysisMode=0,
kTPCAnalysisMode=1 };
AliAnalysisTaskFilteredTree(const char *name = "AliAnalysisTaskFilteredTree");
virtual ~AliAnalysisTaskFilteredTree();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
virtual Bool_t Notify();
virtual void FinishTaskOutput();
void SetUseMCInfo(Bool_t info) { fUseMCInfo = info; }
Bool_t IsUseMCInfo() const { return (fMC)?kTRUE:kFALSE; }
void SetUseESDfriends(Bool_t friends) { fUseESDfriends = friends; }
Bool_t IsUseESDfriends() const { return fUseESDfriends; }
void ProcessAll(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void ProcessV0(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void ProcessdEdx(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void ProcessLaser(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void ProcessMCEff(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0, AliESDfriend *const esdFriend=0);
void ProcessCosmics(AliESDEvent *const esdEvent=0, AliESDfriend* esdFriend=0);
void ProcessITSTPCmatchOut(AliESDEvent *const esdEvent=0, AliESDfriend *const esdFriend=0);
void ProcessTrackMatch(AliESDEvent *const esdEvent=0, AliESDfriend *const esdFriend=0);
void SetEventCuts(AliFilteredTreeEventCuts* const cuts) { fFilteredTreeEventCuts = cuts; }
void SetAcceptanceCuts(AliFilteredTreeAcceptanceCuts* const cuts) { fFilteredTreeAcceptanceCuts = cuts; }
void SetRecAcceptanceCuts(AliFilteredTreeAcceptanceCuts* const cuts) { fFilteredTreeRecAcceptanceCuts = cuts; }
void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
void SetTrigger(const AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
void SetAnalysisMode(EAnalysisMode mode) { fAnalysisMode = mode; }
AliFilteredTreeEventCuts* GetEventCuts() const { return fFilteredTreeEventCuts; }
AliFilteredTreeAcceptanceCuts* GetAcceptanceCuts() const { return fFilteredTreeAcceptanceCuts; }
AliFilteredTreeAcceptanceCuts* GetRecAcceptanceCuts() const { return fFilteredTreeRecAcceptanceCuts; }
AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
AliTriggerAnalysis::Trigger GetTrigger() const { return fTrigger; }
EAnalysisMode GetAnalysisMode() const { return fAnalysisMode; }
TString GetCentralityEstimator() const {return fCentralityEstimator; }
void SetCentralityEstimator(TString centEst="V0M") { fCentralityEstimator = centEst; }
Bool_t IsFromConversion(Int_t label, AliStack *const stack);
Bool_t IsFromMaterial(Int_t label, AliStack *const stack);
Bool_t IsFromStrangeness(Int_t label, AliStack *const stack);
TParticle *GetMother(TParticle *const particle, AliStack *const stack);
Bool_t ConstrainTPCInner(AliExternalTrackParam *const tpcInnerC, const AliESDVertex* vtx, Double_t b[3]);
Bool_t ConstrainTrackInner(AliExternalTrackParam *const trackInnerC, const AliESDVertex* vtx, Double_t mass, Double_t b[3]);
Int_t GetKFParticle(AliESDv0 *const v0, AliESDEvent * const event, AliKFParticle & kfparticle);
Bool_t IsV0Downscaled(AliESDv0 *const v0);
Bool_t IsHighDeDxParticle(AliESDtrack * const track);
void SetLowPtTrackDownscaligF(Double_t fact) { fLowPtTrackDownscaligF = fact; }
void SetLowPtV0DownscaligF(Double_t fact) { fLowPtV0DownscaligF = fact; }
void SetFriendDownscaling(Double_t fact) { fFriendDownscaling = fact; }
void SetProcessCosmics(Bool_t flag) { fProcessCosmics = flag; }
Bool_t GetProcessCosmics() { return fProcessCosmics; }
void SetProcessProcessITSTPCmatchOut(Bool_t flag) { fProcessITSTPCmatchOut = flag; }
Bool_t GetProcessProcessITSTPCmatchOut() { return fProcessITSTPCmatchOut; }
void SetProcessAll(Bool_t proc) { fProcessAll = proc; }
static Int_t GetMCTrueTrackMult(AliMCEvent *const mcEvent, AliFilteredTreeEventCuts *const evtCuts, AliFilteredTreeAcceptanceCuts *const accCuts);
void SetFillTrees(Bool_t filltree) { fFillTree = filltree ;}
Bool_t GetFillTrees() { return fFillTree ;}
void FillHistograms(AliESDtrack* const ptrack, AliExternalTrackParam* const ptpcInnerC, Double_t centralityF, Double_t chi2TPCInnerC);
private:
AliESDEvent *fESD;
AliMCEvent *fMC;
AliESDfriend *fESDfriend;
TList* fOutput;
TIterator *fPitList;
Bool_t fUseMCInfo;
Bool_t fUseESDfriends;
Bool_t fReducePileUp;
Bool_t fFillTree;
AliFilteredTreeEventCuts *fFilteredTreeEventCuts;
AliFilteredTreeAcceptanceCuts *fFilteredTreeAcceptanceCuts;
AliFilteredTreeAcceptanceCuts *fFilteredTreeRecAcceptanceCuts;
AliESDtrackCuts *fEsdTrackCuts;
AliTriggerAnalysis::Trigger fTrigger;
EAnalysisMode fAnalysisMode;
TTreeSRedirector* fTreeSRedirector;
TString fCentralityEstimator;
Double_t fLowPtTrackDownscaligF;
Double_t fLowPtV0DownscaligF;
Double_t fFriendDownscaling;
Double_t fProcessAll;
Bool_t fProcessCosmics;
Bool_t fProcessITSTPCmatchOut;
TTree* fHighPtTree;
TTree* fV0Tree;
TTree* fdEdxTree;
TTree* fLaserTree;
TTree* fMCEffTree;
TTree* fCosmicPairsTree;
TH3D* fPtResPhiPtTPC;
TH3D* fPtResPhiPtTPCc;
TH3D* fPtResPhiPtTPCITS;
TH3D* fPtResEtaPtTPC;
TH3D* fPtResEtaPtTPCc;
TH3D* fPtResEtaPtTPCITS;
TH3D* fPtResCentPtTPC;
TH3D* fPtResCentPtTPCc;
TH3D* fPtResCentPtTPCITS;
TObjString fCurrentFileName;
AliESDtrack* fDummyTrack;
AliAnalysisTaskFilteredTree(const AliAnalysisTaskFilteredTree&);
AliAnalysisTaskFilteredTree& operator=(const AliAnalysisTaskFilteredTree&);
ClassDef(AliAnalysisTaskFilteredTree, 1);
};
#endif
AliAnalysisTaskFilteredTree.h:1 AliAnalysisTaskFilteredTree.h:2 AliAnalysisTaskFilteredTree.h:3 AliAnalysisTaskFilteredTree.h:4 AliAnalysisTaskFilteredTree.h:5 AliAnalysisTaskFilteredTree.h:6 AliAnalysisTaskFilteredTree.h:7 AliAnalysisTaskFilteredTree.h:8 AliAnalysisTaskFilteredTree.h:9 AliAnalysisTaskFilteredTree.h:10 AliAnalysisTaskFilteredTree.h:11 AliAnalysisTaskFilteredTree.h:12 AliAnalysisTaskFilteredTree.h:13 AliAnalysisTaskFilteredTree.h:14 AliAnalysisTaskFilteredTree.h:15 AliAnalysisTaskFilteredTree.h:16 AliAnalysisTaskFilteredTree.h:17 AliAnalysisTaskFilteredTree.h:18 AliAnalysisTaskFilteredTree.h:19 AliAnalysisTaskFilteredTree.h:20 AliAnalysisTaskFilteredTree.h:21 AliAnalysisTaskFilteredTree.h:22 AliAnalysisTaskFilteredTree.h:23 AliAnalysisTaskFilteredTree.h:24 AliAnalysisTaskFilteredTree.h:25 AliAnalysisTaskFilteredTree.h:26 AliAnalysisTaskFilteredTree.h:27 AliAnalysisTaskFilteredTree.h:28 AliAnalysisTaskFilteredTree.h:29 AliAnalysisTaskFilteredTree.h:30 AliAnalysisTaskFilteredTree.h:31 AliAnalysisTaskFilteredTree.h:32 AliAnalysisTaskFilteredTree.h:33 AliAnalysisTaskFilteredTree.h:34 AliAnalysisTaskFilteredTree.h:35 AliAnalysisTaskFilteredTree.h:36 AliAnalysisTaskFilteredTree.h:37 AliAnalysisTaskFilteredTree.h:38 AliAnalysisTaskFilteredTree.h:39 AliAnalysisTaskFilteredTree.h:40 AliAnalysisTaskFilteredTree.h:41 AliAnalysisTaskFilteredTree.h:42 AliAnalysisTaskFilteredTree.h:43 AliAnalysisTaskFilteredTree.h:44 AliAnalysisTaskFilteredTree.h:45 AliAnalysisTaskFilteredTree.h:46 AliAnalysisTaskFilteredTree.h:47 AliAnalysisTaskFilteredTree.h:48 AliAnalysisTaskFilteredTree.h:49 AliAnalysisTaskFilteredTree.h:50 AliAnalysisTaskFilteredTree.h:51 AliAnalysisTaskFilteredTree.h:52 AliAnalysisTaskFilteredTree.h:53 AliAnalysisTaskFilteredTree.h:54 AliAnalysisTaskFilteredTree.h:55 AliAnalysisTaskFilteredTree.h:56 AliAnalysisTaskFilteredTree.h:57 AliAnalysisTaskFilteredTree.h:58 AliAnalysisTaskFilteredTree.h:59 AliAnalysisTaskFilteredTree.h:60 AliAnalysisTaskFilteredTree.h:61 AliAnalysisTaskFilteredTree.h:62 AliAnalysisTaskFilteredTree.h:63 AliAnalysisTaskFilteredTree.h:64 AliAnalysisTaskFilteredTree.h:65 AliAnalysisTaskFilteredTree.h:66 AliAnalysisTaskFilteredTree.h:67 AliAnalysisTaskFilteredTree.h:68 AliAnalysisTaskFilteredTree.h:69 AliAnalysisTaskFilteredTree.h:70 AliAnalysisTaskFilteredTree.h:71 AliAnalysisTaskFilteredTree.h:72 AliAnalysisTaskFilteredTree.h:73 AliAnalysisTaskFilteredTree.h:74 AliAnalysisTaskFilteredTree.h:75 AliAnalysisTaskFilteredTree.h:76 AliAnalysisTaskFilteredTree.h:77 AliAnalysisTaskFilteredTree.h:78 AliAnalysisTaskFilteredTree.h:79 AliAnalysisTaskFilteredTree.h:80 AliAnalysisTaskFilteredTree.h:81 AliAnalysisTaskFilteredTree.h:82 AliAnalysisTaskFilteredTree.h:83 AliAnalysisTaskFilteredTree.h:84 AliAnalysisTaskFilteredTree.h:85 AliAnalysisTaskFilteredTree.h:86 AliAnalysisTaskFilteredTree.h:87 AliAnalysisTaskFilteredTree.h:88 AliAnalysisTaskFilteredTree.h:89 AliAnalysisTaskFilteredTree.h:90 AliAnalysisTaskFilteredTree.h:91 AliAnalysisTaskFilteredTree.h:92 AliAnalysisTaskFilteredTree.h:93 AliAnalysisTaskFilteredTree.h:94 AliAnalysisTaskFilteredTree.h:95 AliAnalysisTaskFilteredTree.h:96 AliAnalysisTaskFilteredTree.h:97 AliAnalysisTaskFilteredTree.h:98 AliAnalysisTaskFilteredTree.h:99 AliAnalysisTaskFilteredTree.h:100 AliAnalysisTaskFilteredTree.h:101 AliAnalysisTaskFilteredTree.h:102 AliAnalysisTaskFilteredTree.h:103 AliAnalysisTaskFilteredTree.h:104 AliAnalysisTaskFilteredTree.h:105 AliAnalysisTaskFilteredTree.h:106 AliAnalysisTaskFilteredTree.h:107 AliAnalysisTaskFilteredTree.h:108 AliAnalysisTaskFilteredTree.h:109 AliAnalysisTaskFilteredTree.h:110 AliAnalysisTaskFilteredTree.h:111 AliAnalysisTaskFilteredTree.h:112 AliAnalysisTaskFilteredTree.h:113 AliAnalysisTaskFilteredTree.h:114 AliAnalysisTaskFilteredTree.h:115 AliAnalysisTaskFilteredTree.h:116 AliAnalysisTaskFilteredTree.h:117 AliAnalysisTaskFilteredTree.h:118 AliAnalysisTaskFilteredTree.h:119 AliAnalysisTaskFilteredTree.h:120 AliAnalysisTaskFilteredTree.h:121 AliAnalysisTaskFilteredTree.h:122 AliAnalysisTaskFilteredTree.h:123 AliAnalysisTaskFilteredTree.h:124 AliAnalysisTaskFilteredTree.h:125 AliAnalysisTaskFilteredTree.h:126 AliAnalysisTaskFilteredTree.h:127 AliAnalysisTaskFilteredTree.h:128 AliAnalysisTaskFilteredTree.h:129 AliAnalysisTaskFilteredTree.h:130 AliAnalysisTaskFilteredTree.h:131 AliAnalysisTaskFilteredTree.h:132 AliAnalysisTaskFilteredTree.h:133 AliAnalysisTaskFilteredTree.h:134 AliAnalysisTaskFilteredTree.h:135 AliAnalysisTaskFilteredTree.h:136 AliAnalysisTaskFilteredTree.h:137 AliAnalysisTaskFilteredTree.h:138 AliAnalysisTaskFilteredTree.h:139 AliAnalysisTaskFilteredTree.h:140 AliAnalysisTaskFilteredTree.h:141 AliAnalysisTaskFilteredTree.h:142 AliAnalysisTaskFilteredTree.h:143 AliAnalysisTaskFilteredTree.h:144 AliAnalysisTaskFilteredTree.h:145 AliAnalysisTaskFilteredTree.h:146 AliAnalysisTaskFilteredTree.h:147 AliAnalysisTaskFilteredTree.h:148 AliAnalysisTaskFilteredTree.h:149 AliAnalysisTaskFilteredTree.h:150 AliAnalysisTaskFilteredTree.h:151 AliAnalysisTaskFilteredTree.h:152 AliAnalysisTaskFilteredTree.h:153 AliAnalysisTaskFilteredTree.h:154 AliAnalysisTaskFilteredTree.h:155 AliAnalysisTaskFilteredTree.h:156 AliAnalysisTaskFilteredTree.h:157 AliAnalysisTaskFilteredTree.h:158 AliAnalysisTaskFilteredTree.h:159 AliAnalysisTaskFilteredTree.h:160 AliAnalysisTaskFilteredTree.h:161 AliAnalysisTaskFilteredTree.h:162 AliAnalysisTaskFilteredTree.h:163 AliAnalysisTaskFilteredTree.h:164 AliAnalysisTaskFilteredTree.h:165 AliAnalysisTaskFilteredTree.h:166 AliAnalysisTaskFilteredTree.h:167 AliAnalysisTaskFilteredTree.h:168 AliAnalysisTaskFilteredTree.h:169 AliAnalysisTaskFilteredTree.h:170 AliAnalysisTaskFilteredTree.h:171 AliAnalysisTaskFilteredTree.h:172 AliAnalysisTaskFilteredTree.h:173 AliAnalysisTaskFilteredTree.h:174 AliAnalysisTaskFilteredTree.h:175 AliAnalysisTaskFilteredTree.h:176