#ifndef ALIANALYSISTASKB2AOD_H
#define ALIANALYSISTASKB2AOD_H
#include <AliAnalysisTaskSE.h>
class AliAODEvent;
class AliAODTrack;
class AliAODMCParticle;
class TString;
class TList;
class TProfile;
class AliLnAODtrackCuts;
class AliLnHistoMap;
class AliLnID;
class AliAnalysisTaskB2AOD: public AliAnalysisTaskSE
{
public:
AliAnalysisTaskB2AOD();
AliAnalysisTaskB2AOD(const char* name);
virtual ~AliAnalysisTaskB2AOD();
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t* option);
virtual void Terminate(Option_t *);
void SetV0ANDtrigger(Bool_t flag=1) { fV0AND = flag; }
void SetNoFastOnlyTrigger(Bool_t flag=1) { fNoFastOnly = flag; }
void SetNtrkMultTrigger(Bool_t flag=1) { fNtrkMultTrigger = flag; }
void SetKNOmultInterval(Double_t min, Double_t max) { fMinKNOmult = min; fMaxKNOmult = max; }
void SetCentralityInterval(Double_t min, Double_t max) { fMinCentrality = min; fMaxCentrality = max; }
void SetMeanNtrk(Double_t mean) { fMeanNtrk = mean; }
void SetVertexXInterval(Double_t min, Double_t max) { fMinVx = min; fMaxVx = max; }
void SetVertexYInterval(Double_t min, Double_t max) { fMinVy = min; fMaxVy = max; }
void SetVertexZInterval(Double_t min, Double_t max) { fMinVz = min; fMaxVz = max; }
void SetDCAxyInterval(Double_t min, Double_t max) { fMinDCAxy = min; fMaxDCAxy = max; }
void SetDCAzInterval(Double_t min, Double_t max) { fMinDCAz = min; fMaxDCAz = max; }
void SetMaxNSigmaToVertex(Double_t max ) { fMaxNSigma = max; }
void SetEtaInterval(Double_t min, Double_t max) { fMinEta = min; fMaxEta = max; }
void SetRapidityInterval(Double_t min, Double_t max) { fMinY = min; fMaxY = max; }
void SetSimulation(Bool_t flag = kTRUE) { fSimulation = flag; }
void SetHeavyIons(Bool_t flag = kTRUE) { fHeavyIons = flag; }
void SetMomentumCorrection(Bool_t flag = kTRUE) { fMomentumCorrection = flag; }
void SetMomentumCorrectionProfile(TProfile* pfx) { fMoCpfx = pfx; }
void SetHistogramMap(AliLnHistoMap* map) { fHistoMap = map; }
void SetTrackCuts(AliLnAODtrackCuts* trackCuts) { fTrackCuts = trackCuts; }
void SetPID(AliLnID* lnID) { fLnID = lnID; }
void SetMaxNSigmaITS(Double_t max) { fMaxNSigmaITS = max; }
void SetMaxNSigmaTPC(Double_t max) { fMaxNSigmaTPC = max; }
void SetMaxNSigmaTOF(Double_t max) { fMaxNSigmaTOF = max; }
void SetM2Interval(Double_t min, Double_t max) { fMinM2 = min; fMaxM2 = max; };
void SetParticleSpecies(const TString& species);
private:
AliAnalysisTaskB2AOD(const AliAnalysisTaskB2AOD& other);
AliAnalysisTaskB2AOD& operator=(const AliAnalysisTaskB2AOD& other);
AliLnHistoMap* CreateHistograms();
Int_t GetParticles();
Int_t GetTracks();
Bool_t IsV0AND(UInt_t triggerBits) const;
Bool_t IsFastOnly(UInt_t triggerBits) const;
Bool_t IsMB(UInt_t triggerBits) const;
AliAODMCParticle* GetParticle(const AliAODTrack* trk) const;
Int_t GetChargedMultiplicity(Double_t maxEta) const;
Bool_t IsFakeTrack(const AliAODTrack* trk) const;
Double_t GetPhi(Double_t p[3]) const;
Double_t GetRapidity(Double_t p, Double_t pz, Double_t m) const;
Double_t GetBeta(const AliAODTrack* trk) const;
Double_t GetMassSquared(Double_t p, Double_t beta) const;
Int_t GetITSnClusters(const AliAODTrack* trk) const;
Int_t GetITSnPointsPID(const AliAODTrack* trk) const;
Int_t GetPidCode(const TString& species) const;
Double_t GetMomentumCorrection(Double_t ptrec) const;
Double_t GetM2Difference(Double_t beta, Double_t p, Double_t m) const;
Double_t GetExpectedTime(const AliAODTrack* trk, Double_t m) const;
private:
TString fSpecies;
Int_t fPartCode;
Bool_t fHeavyIons;
Bool_t fSimulation;
Bool_t fMultTriggerFired;
Bool_t fCentTriggerFired;
Bool_t fTriggerFired;
Bool_t fGoodVertex;
Bool_t fPileUpEvent;
Bool_t fV0AND;
Bool_t fNoFastOnly;
Bool_t fNtrkMultTrigger;
Double_t fMinKNOmult;
Double_t fMaxKNOmult;
Double_t fMinCentrality;
Double_t fMaxCentrality;
Double_t fNch;
Double_t fNtrk;
Double_t fMeanNtrk;
Double_t fKNOmult;
Double_t fMinVx;
Double_t fMaxVx;
Double_t fMinVy;
Double_t fMaxVy;
Double_t fMinVz;
Double_t fMaxVz;
Double_t fMinDCAxy;
Double_t fMaxDCAxy;
Double_t fMinDCAz;
Double_t fMaxDCAz;
Double_t fMaxNSigma;
Double_t fMinEta;
Double_t fMaxEta;
Double_t fMinY;
Double_t fMaxY;
AliAODEvent* fAODevent;
TList* fOutputContainer;
AliLnHistoMap* fHistoMap;
AliLnAODtrackCuts* fTrackCuts;
AliLnID* fLnID;
Double_t fMaxNSigmaITS;
Double_t fMaxNSigmaTPC;
Double_t fMaxNSigmaTOF;
Double_t fMinM2;
Double_t fMaxM2;
Bool_t fMomentumCorrection;
TProfile* fMoCpfx;
ClassDef(AliAnalysisTaskB2AOD, 1)
};
#endif // ALIANALYSISTASKB2AOD_H
AliAnalysisTaskB2AOD.h:10 AliAnalysisTaskB2AOD.h:11 AliAnalysisTaskB2AOD.h:12 AliAnalysisTaskB2AOD.h:13 AliAnalysisTaskB2AOD.h:14 AliAnalysisTaskB2AOD.h:15 AliAnalysisTaskB2AOD.h:16 AliAnalysisTaskB2AOD.h:17 AliAnalysisTaskB2AOD.h:18 AliAnalysisTaskB2AOD.h:19 AliAnalysisTaskB2AOD.h:20 AliAnalysisTaskB2AOD.h:21 AliAnalysisTaskB2AOD.h:22 AliAnalysisTaskB2AOD.h:23 AliAnalysisTaskB2AOD.h:24 AliAnalysisTaskB2AOD.h:25 AliAnalysisTaskB2AOD.h:26 AliAnalysisTaskB2AOD.h:27 AliAnalysisTaskB2AOD.h:28 AliAnalysisTaskB2AOD.h:29 AliAnalysisTaskB2AOD.h:30 AliAnalysisTaskB2AOD.h:31 AliAnalysisTaskB2AOD.h:32 AliAnalysisTaskB2AOD.h:33 AliAnalysisTaskB2AOD.h:34 AliAnalysisTaskB2AOD.h:35 AliAnalysisTaskB2AOD.h:36 AliAnalysisTaskB2AOD.h:37 AliAnalysisTaskB2AOD.h:38 AliAnalysisTaskB2AOD.h:39 AliAnalysisTaskB2AOD.h:40 AliAnalysisTaskB2AOD.h:41 AliAnalysisTaskB2AOD.h:42 AliAnalysisTaskB2AOD.h:43 AliAnalysisTaskB2AOD.h:44 AliAnalysisTaskB2AOD.h:45 AliAnalysisTaskB2AOD.h:46 AliAnalysisTaskB2AOD.h:47 AliAnalysisTaskB2AOD.h:48 AliAnalysisTaskB2AOD.h:49 AliAnalysisTaskB2AOD.h:50 AliAnalysisTaskB2AOD.h:51 AliAnalysisTaskB2AOD.h:52 AliAnalysisTaskB2AOD.h:53 AliAnalysisTaskB2AOD.h:54 AliAnalysisTaskB2AOD.h:55 AliAnalysisTaskB2AOD.h:56 AliAnalysisTaskB2AOD.h:57 AliAnalysisTaskB2AOD.h:58 AliAnalysisTaskB2AOD.h:59 AliAnalysisTaskB2AOD.h:60 AliAnalysisTaskB2AOD.h:61 AliAnalysisTaskB2AOD.h:62 AliAnalysisTaskB2AOD.h:63 AliAnalysisTaskB2AOD.h:64 AliAnalysisTaskB2AOD.h:65 AliAnalysisTaskB2AOD.h:66 AliAnalysisTaskB2AOD.h:67 AliAnalysisTaskB2AOD.h:68 AliAnalysisTaskB2AOD.h:69 AliAnalysisTaskB2AOD.h:70 AliAnalysisTaskB2AOD.h:71 AliAnalysisTaskB2AOD.h:72 AliAnalysisTaskB2AOD.h:73 AliAnalysisTaskB2AOD.h:74 AliAnalysisTaskB2AOD.h:75 AliAnalysisTaskB2AOD.h:76 AliAnalysisTaskB2AOD.h:77 AliAnalysisTaskB2AOD.h:78 AliAnalysisTaskB2AOD.h:79 AliAnalysisTaskB2AOD.h:80 AliAnalysisTaskB2AOD.h:81 AliAnalysisTaskB2AOD.h:82 AliAnalysisTaskB2AOD.h:83 AliAnalysisTaskB2AOD.h:84 AliAnalysisTaskB2AOD.h:85 AliAnalysisTaskB2AOD.h:86 AliAnalysisTaskB2AOD.h:87 AliAnalysisTaskB2AOD.h:88 AliAnalysisTaskB2AOD.h:89 AliAnalysisTaskB2AOD.h:90 AliAnalysisTaskB2AOD.h:91 AliAnalysisTaskB2AOD.h:92 AliAnalysisTaskB2AOD.h:93 AliAnalysisTaskB2AOD.h:94 AliAnalysisTaskB2AOD.h:95 AliAnalysisTaskB2AOD.h:96 AliAnalysisTaskB2AOD.h:97 AliAnalysisTaskB2AOD.h:98 AliAnalysisTaskB2AOD.h:99 AliAnalysisTaskB2AOD.h:100 AliAnalysisTaskB2AOD.h:101 AliAnalysisTaskB2AOD.h:102 AliAnalysisTaskB2AOD.h:103 AliAnalysisTaskB2AOD.h:104 AliAnalysisTaskB2AOD.h:105 AliAnalysisTaskB2AOD.h:106 AliAnalysisTaskB2AOD.h:107 AliAnalysisTaskB2AOD.h:108 AliAnalysisTaskB2AOD.h:109 AliAnalysisTaskB2AOD.h:110 AliAnalysisTaskB2AOD.h:111 AliAnalysisTaskB2AOD.h:112 AliAnalysisTaskB2AOD.h:113 AliAnalysisTaskB2AOD.h:114 AliAnalysisTaskB2AOD.h:115 AliAnalysisTaskB2AOD.h:116 AliAnalysisTaskB2AOD.h:117 AliAnalysisTaskB2AOD.h:118 AliAnalysisTaskB2AOD.h:119 AliAnalysisTaskB2AOD.h:120 AliAnalysisTaskB2AOD.h:121 AliAnalysisTaskB2AOD.h:122 AliAnalysisTaskB2AOD.h:123 AliAnalysisTaskB2AOD.h:124 AliAnalysisTaskB2AOD.h:125 AliAnalysisTaskB2AOD.h:126 AliAnalysisTaskB2AOD.h:127 AliAnalysisTaskB2AOD.h:128 AliAnalysisTaskB2AOD.h:129 AliAnalysisTaskB2AOD.h:130 AliAnalysisTaskB2AOD.h:131 AliAnalysisTaskB2AOD.h:132 AliAnalysisTaskB2AOD.h:133 AliAnalysisTaskB2AOD.h:134 AliAnalysisTaskB2AOD.h:135 AliAnalysisTaskB2AOD.h:136 AliAnalysisTaskB2AOD.h:137 AliAnalysisTaskB2AOD.h:138 AliAnalysisTaskB2AOD.h:139 AliAnalysisTaskB2AOD.h:140 AliAnalysisTaskB2AOD.h:141 AliAnalysisTaskB2AOD.h:142 AliAnalysisTaskB2AOD.h:143 AliAnalysisTaskB2AOD.h:144 AliAnalysisTaskB2AOD.h:145 AliAnalysisTaskB2AOD.h:146 AliAnalysisTaskB2AOD.h:147 AliAnalysisTaskB2AOD.h:148 AliAnalysisTaskB2AOD.h:149 AliAnalysisTaskB2AOD.h:150 AliAnalysisTaskB2AOD.h:151 AliAnalysisTaskB2AOD.h:152 AliAnalysisTaskB2AOD.h:153 AliAnalysisTaskB2AOD.h:154 AliAnalysisTaskB2AOD.h:155 AliAnalysisTaskB2AOD.h:156 AliAnalysisTaskB2AOD.h:157 AliAnalysisTaskB2AOD.h:158 AliAnalysisTaskB2AOD.h:159 AliAnalysisTaskB2AOD.h:160 AliAnalysisTaskB2AOD.h:161 AliAnalysisTaskB2AOD.h:162 AliAnalysisTaskB2AOD.h:163 AliAnalysisTaskB2AOD.h:164 AliAnalysisTaskB2AOD.h:165 AliAnalysisTaskB2AOD.h:166 AliAnalysisTaskB2AOD.h:167 AliAnalysisTaskB2AOD.h:168 AliAnalysisTaskB2AOD.h:169 AliAnalysisTaskB2AOD.h:170 AliAnalysisTaskB2AOD.h:171