]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliHFENonPhotonicElectron.h
Update of hfe code
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFENonPhotonicElectron.h
CommitLineData
76d0b522 1#ifndef ALIHFENONPHOTONICELECTRON_H
2#define ALIHFENONPHOTONICELECTRON_H
3
4 /************************************************************************************
5 * *
6 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice *
8 * *
9 * *
10 * *
11 * Task for the Selection of Non-photonic Electron study *
12 * *
13 * Author: R.Bailhache, C.A.Schmidt *
14 * *
15 ************************************************************************************/
16
17#ifndef ROOT_TNamed
18#include <TNamed.h>
19#endif
20
21class AliESDtrackCuts;
22class AliHFEpid;
23class AliHFEpidQAmanager;
24class AliMCEvent;
25class AliVEvent;
26class AliVParticle;
27class THnSparse;
28class TClonesArray;
29class TList;
30
31class AliHFENonPhotonicElectron : public TNamed {
32 public:
33
34 typedef enum{
35 kElectronfromconversion = 0,
36 kElectronfromconversionboth = 1,
37 kElectronfrompi0 = 2,
38 kElectronfrompi0both = 3,
39 kElectronfrometa = 4,
40 kElectronfrometaboth = 5,
41 kElectronfromC = 6,
42 kElectronfromB = 7,
43 kElectronfromother = 8,
44 kNoElectron = 9
45 } Source_t;
46
47 typedef enum{
48 kS = 0,
49 kOp = 1
50 } Sign_t;
51
52 AliHFENonPhotonicElectron();
53 AliHFENonPhotonicElectron(const char *name, const Char_t *title);
54 AliHFENonPhotonicElectron &operator=(const AliHFENonPhotonicElectron &ref);
55 virtual ~AliHFENonPhotonicElectron();
56
57 void SetMCEvent (AliMCEvent *mcEvent) {fMCEvent = mcEvent; };
58 void SetAODArrayMCInfo (TClonesArray *aodArrayMCInfo) {fAODArrayMCInfo = aodArrayMCInfo; };
59
60 void SetUseFilterAOD(Bool_t useFilterAOD) { fUseFilterAOD = useFilterAOD; };
61 void SetFilter(UInt_t filter) { fFilter = filter; };
62
63 void SetHFEBackgroundCuts(AliESDtrackCuts * const cuts) { fHFEBackgroundCuts = cuts; };
64 AliHFEpid *GetPIDBackground() const { return fPIDBackground; };
65 AliHFEpidQAmanager *GetPIDBackgroundQAManager() const { return fPIDBackgroundQA; };
66
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; };
73
74 TList *GetListOutput() const { return fListOutput; };
75 THnSparseF *GetMCSourceeeHisto() const { return fMCSourceee; };
76 THnSparseF *GetUSigneeHisto() const { return fUSignee; };
77 THnSparseF *GetLSigneeHisto() const { return fLSignee; };
78 THnSparseF *GetUSignAngleHisto() const { return fUSignAngle; };
79 THnSparseF *GetLSignAngleHisto() const { return fLSignAngle; };
80
81 void Init ();
82 void InitRun (const AliVEvent *inputEvent,const AliPIDResponse *pidResponse);
83 Int_t FillPoolAssociatedTracks (AliVEvent *inputEvent,Int_t binct=-1);
84 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);
85
86 Int_t FindMother (Int_t tr, Int_t &indexmother);
87 Int_t CheckPdg (Int_t tr);
88 Int_t IsMotherGamma (Int_t tr);
89 Int_t IsMotherPi0 (Int_t tr);
90 Int_t IsMotherC (Int_t tr);
91 Int_t IsMotherB (Int_t tr);
92 Int_t IsMotherEta (Int_t tr);
93
94
95 private:
96 AliMCEvent *fMCEvent; //! MC event esd
97 TClonesArray *fAODArrayMCInfo; //! MC info particle AOD
98 AliESDtrackCuts *fHFEBackgroundCuts; // HFE background cuts
99 AliHFEpid *fPIDBackground; // PID background cuts
100 AliHFEpidQAmanager *fPIDBackgroundQA; // QA Manager Background
101 Bool_t fAlgorithmMA; // algorithm MA
102 Bool_t fUseFilterAOD; // Use the preselected AOD track
103 UInt_t fFilter; // filter AOD status
104 Double_t fChi2OverNDFCut; // Limit chi2
105 Double_t fMaxDCA; // Limit dca
106 Double_t fMaxOpeningTheta; // Limit opening angle in theta
107 Double_t fMaxOpeningPhi; // Limit opening angle in phi
108 Double_t fMaxOpening3D; // Limit opening 3D
109 Double_t fMaxInvMass; // Limit invariant mass
110 Bool_t fSetMassConstraint; // Set mass constraint
111 TArrayI *fArraytrack; //! list of tracks
112 Int_t fCounterPoolBackground; // number of tracks
113 TList *fListOutput; // List of histos
114 THnSparseF *fMCSourceee; //! centrality, pt, Source MC
115 THnSparseF *fUSignee; //! delta phi, c, pt, inv, source
116 THnSparseF *fLSignee; //! delta phi, c, pt, inv, source
117 THnSparseF *fUSignAngle; //! angle, c, source
118 THnSparseF *fLSignAngle; //! angle, c, source
119
120
121 AliHFENonPhotonicElectron(const AliHFENonPhotonicElectron&); // not implemented
122
123 ClassDef(AliHFENonPhotonicElectron, 1); //!example of analysis
124};
125
126#endif