#ifndef ALIANALYSELEADINGTRACKUE_H
#define ALIANALYSELEADINGTRACKUE_H
#include <TObject.h>
class AliAODEvent;
class AliAODInputHandler;
class AliESDEvent;
class AliESDtrackCuts;
class AliAODTrack;
class AliESDTrack;
class AliGenPythiaEventHeader;
class AliInputEventHandler;
class AliLog;
class AliMCEvent;
class AliStack;
class AliVParticle;
class TClonesArray;
class TObject;
class TROOT;
class TVector3;
class AliVTrack;
class AliHelperPID;
class TFormula;
class AliAnalyseLeadingTrackUE : public TObject {
public:
AliAnalyseLeadingTrackUE();
AliAnalyseLeadingTrackUE(const AliAnalyseLeadingTrackUE & g);
AliAnalyseLeadingTrackUE & operator = (const AliAnalyseLeadingTrackUE & g);
virtual ~AliAnalyseLeadingTrackUE();
void SetParticleSelectionCriteria(Int_t filterbit, Bool_t onlyhadrons, Double_t etacut, Double_t etacutMin=-1., Double_t ptMin = 0) { fFilterBit = filterbit;
fOnlyHadrons = onlyhadrons;
fTrackEtaCut = etacut;
fTrackEtaCutMin = etacutMin;
fTrackPtMin = ptMin;}
void SetEventSelection(UInt_t bits) { fEventSelection = bits; }
void SetDebug(Int_t debug) { fDebug = debug; }
Bool_t ApplyCuts(TObject* track);
void DefineESDCuts(Int_t filterbit);
TObjArray* FindLeadingObjects(TObject* obj);
TObjArray* GetMinMaxRegion(TList* transv1, TList* transv2);
Int_t NParticles(TObject *obj);
AliVParticle* ParticleWithCuts(TObject* obj, Int_t ipart, Bool_t onlyprimaries = kTRUE, Int_t particleSpecies = -1);
void QSortTracks(TObjArray &a, Int_t first, Int_t last);
TObjArray* SortRegions(const AliVParticle* leading, TObject* obj, TObject* arrayMC, Bool_t onlyprimaries = kTRUE);
TObjArray* GetAcceptedParticles(TObject* obj, TObject* arrayMC, Bool_t onlyprimaries = kTRUE, Int_t particleSpecies = -1, Bool_t useEtaPtCuts = kFALSE, Bool_t speciesOnTracks = kTRUE, Double_t evtPlane = -999.);
TObjArray* GetFakeParticles(TObject* obj, TObject* arrayMC, Bool_t onlyprimaries, Int_t particleSpecies, Bool_t useEtaPtCuts);
Bool_t TriggerSelection(const TObject* obj);
Bool_t VertexSelection(const TObject* obj, Int_t ntracks, Double_t zed);
void RemoveInjectedSignals(TObjArray* tracks, TObject* arrayMC, Int_t maxLabel);
void RemoveWeakDecays(TObjArray* tracks, TObject* mcObj);
AliHelperPID* GetHelperPID() { return fHelperPID; }
void SetHelperPID(AliHelperPID* pid) { fHelperPID = pid; }
void SetTrackStatus(UInt_t status) { fTrackStatus = status; }
UInt_t GetTrackStatus() { return fTrackStatus; }
void SetCheckMotherPDG(Bool_t checkpdg) { fCheckMotherPDG = checkpdg; }
Bool_t GetCheckMotherPDG() { return fCheckMotherPDG; }
void NextEvent() { fEventCounter++; }
UInt_t GetEventCounter() { return fEventCounter; }
void SetDCAXYCut(TFormula* value) { fDCAXYCut = value; }
void SetSharedClusterCut(Double_t value) { fSharedClusterCut = value; }
void SetCrossedRowsCut(Int_t value) { fCrossedRowsCut = value; }
void SetFoundFractionCut(Double_t value) { fFoundFractionCut = value; }
void SetParticlePhiCutEventPlane(Double_t min, Double_t max) { fTrackPhiCutEvPlMin = min; fTrackPhiCutEvPlMax = max; }
protected:
Bool_t CheckTrack(AliVParticle * part);
private:
Int_t fDebug;
Int_t fFilterBit;
UInt_t fTrackStatus;
Bool_t fOnlyHadrons;
Bool_t fCheckMotherPDG;
Double_t fTrackEtaCut;
Double_t fTrackEtaCutMin;
Double_t fTrackPhiCutEvPlMin;
Double_t fTrackPhiCutEvPlMax;
Double_t fTrackPtMin;
UInt_t fEventSelection;
TFormula* fDCAXYCut;
Double_t fSharedClusterCut;
Int_t fCrossedRowsCut;
Double_t fFoundFractionCut;
AliESDtrackCuts *fEsdTrackCuts;
AliESDtrackCuts *fEsdTrackCutsExtra1;
AliESDtrackCuts *fEsdTrackCutsExtra2;
AliHelperPID *fHelperPID;
UInt_t fEventCounter;
ClassDef(AliAnalyseLeadingTrackUE,0)
};
#endif
AliAnalyseLeadingTrackUE.h:1 AliAnalyseLeadingTrackUE.h:2 AliAnalyseLeadingTrackUE.h:3 AliAnalyseLeadingTrackUE.h:4 AliAnalyseLeadingTrackUE.h:5 AliAnalyseLeadingTrackUE.h:6 AliAnalyseLeadingTrackUE.h:7 AliAnalyseLeadingTrackUE.h:8 AliAnalyseLeadingTrackUE.h:9 AliAnalyseLeadingTrackUE.h:10 AliAnalyseLeadingTrackUE.h:11 AliAnalyseLeadingTrackUE.h:12 AliAnalyseLeadingTrackUE.h:13 AliAnalyseLeadingTrackUE.h:14 AliAnalyseLeadingTrackUE.h:15 AliAnalyseLeadingTrackUE.h:16 AliAnalyseLeadingTrackUE.h:17 AliAnalyseLeadingTrackUE.h:18 AliAnalyseLeadingTrackUE.h:19 AliAnalyseLeadingTrackUE.h:20 AliAnalyseLeadingTrackUE.h:21 AliAnalyseLeadingTrackUE.h:22 AliAnalyseLeadingTrackUE.h:23 AliAnalyseLeadingTrackUE.h:24 AliAnalyseLeadingTrackUE.h:25 AliAnalyseLeadingTrackUE.h:26 AliAnalyseLeadingTrackUE.h:27 AliAnalyseLeadingTrackUE.h:28 AliAnalyseLeadingTrackUE.h:29 AliAnalyseLeadingTrackUE.h:30 AliAnalyseLeadingTrackUE.h:31 AliAnalyseLeadingTrackUE.h:32 AliAnalyseLeadingTrackUE.h:33 AliAnalyseLeadingTrackUE.h:34 AliAnalyseLeadingTrackUE.h:35 AliAnalyseLeadingTrackUE.h:36 AliAnalyseLeadingTrackUE.h:37 AliAnalyseLeadingTrackUE.h:38 AliAnalyseLeadingTrackUE.h:39 AliAnalyseLeadingTrackUE.h:40 AliAnalyseLeadingTrackUE.h:41 AliAnalyseLeadingTrackUE.h:42 AliAnalyseLeadingTrackUE.h:43 AliAnalyseLeadingTrackUE.h:44 AliAnalyseLeadingTrackUE.h:45 AliAnalyseLeadingTrackUE.h:46 AliAnalyseLeadingTrackUE.h:47 AliAnalyseLeadingTrackUE.h:48 AliAnalyseLeadingTrackUE.h:49 AliAnalyseLeadingTrackUE.h:50 AliAnalyseLeadingTrackUE.h:51 AliAnalyseLeadingTrackUE.h:52 AliAnalyseLeadingTrackUE.h:53 AliAnalyseLeadingTrackUE.h:54 AliAnalyseLeadingTrackUE.h:55 AliAnalyseLeadingTrackUE.h:56 AliAnalyseLeadingTrackUE.h:57 AliAnalyseLeadingTrackUE.h:58 AliAnalyseLeadingTrackUE.h:59 AliAnalyseLeadingTrackUE.h:60 AliAnalyseLeadingTrackUE.h:61 AliAnalyseLeadingTrackUE.h:62 AliAnalyseLeadingTrackUE.h:63 AliAnalyseLeadingTrackUE.h:64 AliAnalyseLeadingTrackUE.h:65 AliAnalyseLeadingTrackUE.h:66 AliAnalyseLeadingTrackUE.h:67 AliAnalyseLeadingTrackUE.h:68 AliAnalyseLeadingTrackUE.h:69 AliAnalyseLeadingTrackUE.h:70 AliAnalyseLeadingTrackUE.h:71 AliAnalyseLeadingTrackUE.h:72 AliAnalyseLeadingTrackUE.h:73 AliAnalyseLeadingTrackUE.h:74 AliAnalyseLeadingTrackUE.h:75 AliAnalyseLeadingTrackUE.h:76 AliAnalyseLeadingTrackUE.h:77 AliAnalyseLeadingTrackUE.h:78 AliAnalyseLeadingTrackUE.h:79 AliAnalyseLeadingTrackUE.h:80 AliAnalyseLeadingTrackUE.h:81 AliAnalyseLeadingTrackUE.h:82 AliAnalyseLeadingTrackUE.h:83 AliAnalyseLeadingTrackUE.h:84 AliAnalyseLeadingTrackUE.h:85 AliAnalyseLeadingTrackUE.h:86 AliAnalyseLeadingTrackUE.h:87 AliAnalyseLeadingTrackUE.h:88 AliAnalyseLeadingTrackUE.h:89 AliAnalyseLeadingTrackUE.h:90 AliAnalyseLeadingTrackUE.h:91 AliAnalyseLeadingTrackUE.h:92 AliAnalyseLeadingTrackUE.h:93 AliAnalyseLeadingTrackUE.h:94 AliAnalyseLeadingTrackUE.h:95 AliAnalyseLeadingTrackUE.h:96 AliAnalyseLeadingTrackUE.h:97 AliAnalyseLeadingTrackUE.h:98 AliAnalyseLeadingTrackUE.h:99 AliAnalyseLeadingTrackUE.h:100 AliAnalyseLeadingTrackUE.h:101 AliAnalyseLeadingTrackUE.h:102 AliAnalyseLeadingTrackUE.h:103 AliAnalyseLeadingTrackUE.h:104 AliAnalyseLeadingTrackUE.h:105 AliAnalyseLeadingTrackUE.h:106 AliAnalyseLeadingTrackUE.h:107 AliAnalyseLeadingTrackUE.h:108 AliAnalyseLeadingTrackUE.h:109 AliAnalyseLeadingTrackUE.h:110