1 #ifndef ALIHFENONPHOTONICELECTRON_H
2 #define ALIHFENONPHOTONICELECTRON_H
4 /************************************************************************************
6 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice *
11 * Task for the Selection of Non-photonic Electron study *
13 * Author: R.Bailhache, C.A.Schmidt *
15 ************************************************************************************/
21 class AliESDtrackCuts;
23 class AliHFEpidQAmanager;
31 class AliHFENonPhotonicElectron : public TNamed {
35 kElectronfromconversion = 0,
36 kElectronfromconversionboth = 1,
38 kElectronfrompi0both = 3,
40 kElectronfrometaboth = 5,
43 kElectronfromother = 8,
52 AliHFENonPhotonicElectron();
53 AliHFENonPhotonicElectron(const char *name, const Char_t *title);
54 AliHFENonPhotonicElectron &operator=(const AliHFENonPhotonicElectron &ref);
55 virtual ~AliHFENonPhotonicElectron();
57 void SetAOD (Bool_t isAOD) { fIsAOD = isAOD; };
58 void SetMCEvent (AliMCEvent *mcEvent) { fMCEvent = mcEvent; };
59 void SetAODArrayMCInfo (TClonesArray *aodArrayMCInfo) { fAODArrayMCInfo = aodArrayMCInfo; };
60 void SetUseFilterAOD (Bool_t useFilterAOD) { fUseFilterAOD = useFilterAOD; };
61 void SetFilter (UInt_t filter) { fFilter = filter; };
62 void SetHFEBackgroundCuts (AliHFEcuts * const cuts) { fHFEBackgroundCuts = cuts; };
64 AliHFEpid *GetPIDBackground() const { return fPIDBackground; };
65 AliHFEpidQAmanager *GetPIDBackgroundQAManager() const { return fPIDBackgroundQA; };
67 void SetMaxInvMass (Double_t MaxInvMass) { fMaxInvMass = MaxInvMass; };
68 void SetMaxOpening3D (Double_t MaxOpening3D) { fMaxOpening3D = MaxOpening3D; };
69 // void SetMaxOpeningTheta (Double_t MaxOpeningTheta) { fMaxOpeningTheta = MaxOpeningTheta; };
70 // void SetMaxOpeningPhi (Double_t MaxOpeningPhi) { fMaxOpeningPhi = MaxOpeningPhi; };
71 void SetAlgorithmMA (Bool_t algorithmMA) { fAlgorithmMA = algorithmMA; };
72 void SetMassConstraint (Bool_t MassConstraint) { fSetMassConstraint = MassConstraint; };
74 TList *GetListOutput() const { return fListOutput; };
75 THnSparseF *GetAssElectronHisto() const { return fAssElectron; };
76 THnSparseF *GetIncElectronHisto() const { return fIncElectron; };
77 THnSparseF *GetUSignHisto() const { return fUSign; };
78 THnSparseF *GetLSignHisto() const { return fLSign; };
79 // THnSparseF *GetUSignAngleHisto() const { return fUSignAngle; };
80 // THnSparseF *GetLSignAngleHisto() const { return fLSignAngle; };
83 void InitRun (const AliVEvent *inputEvent, const AliPIDResponse *pidResponse);
84 Int_t FillPoolAssociatedTracks (AliVEvent *inputEvent, Int_t binct=-1);
85 Int_t CountPoolAssociated (AliVEvent *inputEvent, Int_t binct=-1);
86 Int_t LookAtNonHFE (Int_t iTrack1, AliVTrack *track1, AliVEvent *vEvent, Double_t weight=1., Int_t binct=-1, Double_t deltaphi=-1, Int_t source=-1, Int_t indexmother=-1);
88 Int_t FindMother (Int_t tr, Int_t &indexmother);
89 Int_t CheckPdg (Int_t tr);
90 Int_t IsMotherGamma (Int_t tr);
91 Int_t IsMotherPi0 (Int_t tr);
92 Int_t IsMotherC (Int_t tr);
93 Int_t IsMotherB (Int_t tr);
94 Int_t IsMotherEta (Int_t tr);
98 Bool_t fIsAOD; // Is AOD
99 AliMCEvent *fMCEvent; //! MC event ESD
100 TClonesArray *fAODArrayMCInfo; //! MC info particle AOD
101 AliHFEcuts *fHFEBackgroundCuts; // HFE background cuts
102 AliHFEpid *fPIDBackground; // PID background cuts
103 AliHFEpidQAmanager *fPIDBackgroundQA; // QA Manager Background
104 const AliPIDResponse *fkPIDRespons; // PID response
105 Bool_t fAlgorithmMA; // algorithm MA
106 Bool_t fUseFilterAOD; // Use the preselected AOD track
107 UInt_t fFilter; // filter AOD status
108 Double_t fChi2OverNDFCut; // Limit chi2
109 Double_t fMaxDCA; // Limit dca
110 // Double_t fMaxOpeningTheta; // Limit opening angle in theta
111 // Double_t fMaxOpeningPhi; // Limit opening angle in phi
112 Double_t fMaxOpening3D; // Limit opening 3D
113 Double_t fMaxInvMass; // Limit invariant mass
114 Bool_t fSetMassConstraint; // Set mass constraint
115 TArrayI *fArraytrack; //! list of associated tracks
116 Int_t fCounterPoolBackground; // number of associated electrons
117 Int_t fnumberfound; // number of inclusive electrons
118 TList *fListOutput; // List of histos
119 THnSparseF *fAssElectron; //! centrality, pt, Source MC, P, TPCsignal
120 THnSparseF *fIncElectron; //! centrality, pt, Source MC, P, TPCsignal
121 THnSparseF *fUSign; //! delta phi, c, pt, inv, source
122 THnSparseF *fLSign; //! delta phi, c, pt, inv, source
123 THnSparseF *fUSmatches; //! number of matched tracks with oposite sign per inclusive track after inv mass cut
124 THnSparseF *fLSmatches; //! number of matched tracks with same sign per inclusive track after inv mass cut
125 // THnSparseF *fUSignAngle; //! angle, c, source
126 // THnSparseF *fLSignAngle; //! angle, c, source
129 AliHFENonPhotonicElectron(const AliHFENonPhotonicElectron &ref);
131 ClassDef(AliHFENonPhotonicElectron, 1); //!example of analysis