]>
Commit | Line | Data |
---|---|---|
f7d5860b | 1 | |
2 | #ifndef ALIEMCALJETFINDERALGOOMNI_H | |
3 | #define ALIEMCALJETFINDERALGOOMNI_H | |
4 | ||
5 | //THIS IS SARAH'S REVISED UA1 CODE WITH CHANGES FOR ETA/PHI ITERATION INCLUDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
6 | //THIS Also includes summing ALL cells in the jetcone towards the jet energy NOT just those above threshold!!!!! | |
7 | ||
8 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
9 | * * * See cxx source for full Copyright notice */ | |
10 | ||
11 | /* $Id$ */ | |
12 | ||
13 | //*--Author: Sarah Blyth (LBL) | |
14 | //*--Based on UA1 jet algorithm from LUND JETSET called from EMC-erj | |
15 | ||
16 | ||
17 | #include "TTask.h" | |
18 | #include "AliEMCALJetFinderInput.h" | |
19 | #include "AliEMCALJetFinderOutput.h" | |
20 | #include "AliEMCALJetFinderAlgo.h" | |
21 | #include "AliEMCALJetFinderAlgoUA1Unit.h" | |
22 | #include "AliEMCALJet.h" | |
23 | #include "AliEMCALHadronCorrectionv1.h" | |
24 | ||
25 | ||
26 | class AliEMCALJetFinderAlgoOmni : public AliEMCALJetFinderAlgo | |
27 | { | |
28 | ||
29 | public: | |
30 | AliEMCALJetFinderAlgoOmni(); | |
31 | ~AliEMCALJetFinderAlgoOmni(); | |
32 | void InitUnitArray(); | |
33 | void SetNumUnits(Int_t numUnits) {fNumUnits = numUnits;} | |
41d06268 | 34 | Int_t GetNumUnits() const {return fNumUnits;} |
f7d5860b | 35 | void SetJetESeed(Float_t eSeed) {fESeed = eSeed;} |
41d06268 | 36 | Float_t GetJetESeed() const {return fESeed;} |
f7d5860b | 37 | void SetConeRad(Float_t coneRad) {fConeRad = coneRad;} |
41d06268 | 38 | Float_t GetConeRad() const {return fConeRad;} |
f7d5860b | 39 | void SetJetEMin(Float_t jetEMin) {fJetEMin = jetEMin;} |
41d06268 | 40 | Float_t GetJetEMin() const {return fJetEMin;} |
f7d5860b | 41 | void SetEtMin(Float_t etMin) {fEtMin = etMin;} |
41d06268 | 42 | Float_t GetEtMin() const {return fEtMin;} |
f7d5860b | 43 | void SetMinMove(Float_t minMove) {fMinMove = minMove;} |
44 | void SetMaxMove(Float_t maxMove) {fMaxMove = maxMove;} | |
45 | void SetBGMaxMove(Float_t bgMaxMove) {fBGMaxMove = bgMaxMove;} | |
46 | void SetPtCut(Float_t ptCut) {fPtCut = ptCut;} | |
41d06268 | 47 | Float_t GetPtCut() const {return fPtCut;} |
f7d5860b | 48 | void SetHadronCorrection(AliEMCALHadronCorrectionv1 *hadCorr) {fHadCorr = hadCorr;} |
41d06268 | 49 | AliEMCALHadronCorrectionv1* GetHadronCorrection() const {return fHadCorr;} |
f7d5860b | 50 | void SetJetFindingParameters(Int_t numUnits, Float_t eSeed, Float_t coneRad, Float_t jetEMin, Float_t etMin, |
51 | Float_t minMove, Float_t maxMove, Float_t bgMaxMove); | |
52 | void SetJetFindingParameters(Int_t numUnits, Float_t eSeed, Float_t coneRad, Float_t jetEMin, Float_t etMin); | |
53 | void FillUnitArray(AliEMCALJetFinderAlgoUA1FillUnitFlagType_t flag); | |
54 | void SetBGCalcType(AliEMCALJetFinderAlgoBGCalcType_t flag2, Float_t bgPar = -1) {fBGType = flag2; fBGPar = bgPar;} | |
55 | void Sort(AliEMCALJetFinderAlgoUA1Unit* unit,Int_t integer); | |
56 | void FindBG(); | |
57 | void RatioBG(); | |
58 | void ConeBG(); | |
59 | void ConstantBG(); | |
60 | void FindJetEtaPhi(Int_t counter); | |
61 | void FindJetEnergy(); | |
62 | void StoreJetInfo(); | |
63 | void FindJets(); | |
64 | void QS(AliEMCALJetFinderAlgoUA1Unit *unit, Int_t left, Int_t right); | |
41d06268 | 65 | AliEMCALJetFinderAlgoUA1Unit* GetUnitArrayPointer() const {return fUnit;} |
66 | AliEMCALJetFinderAlgoUA1Unit* GetUnitArrayPointerNoCuts() const {return fUnitNoCuts;} | |
f7d5860b | 67 | |
68 | protected: | |
69 | AliEMCALJetFinderAlgoUA1Unit *fUnit; //Array of JetFinder Unit objects (treated as the cells) | |
70 | AliEMCALJetFinderAlgoUA1Unit *fUnitNoCuts; //Second array of JetFinder Unit objects ('raw data') | |
71 | AliEMCALHadronCorrectionv1 *fHadCorr; //Pointer to Hadron Correction Object | |
f7d5860b | 72 | AliEMCALJetFinderAlgoBGCalcType_t fBGType; //Method of background calculation to be used |
73 | Int_t fNumIter; //Number of iterations for entire algorithm | |
74 | Int_t fNumUnits; //Number of units in the unit object array (same as num towers in EMCAL) | |
75 | Float_t fESeed; //Minimum energy a cell must have to be considered a jet seed | |
76 | Float_t fConeRad; //Size of cone radius | |
77 | Float_t fJetEMin; //Minimum energy a cluster must have to be considered a jet | |
78 | Float_t fEtMin; //Minimum cell Et cut | |
79 | Float_t fMinMove; //Minimum move of jet centre from its previous position | |
80 | Float_t fMaxMove; //Maximum move allowed of jet centre from its initiator cell position | |
81 | Float_t fBGMaxMove; //Maximum allowed change in background energy between iterations | |
82 | Float_t fPtCut; //Pt cut for tracks to minimise background contribution | |
83 | Float_t fBGPar; //Parameter to be used for method of background calculation | |
84 | ||
85 | Float_t fEBGTotal; //Total background energy | |
86 | Float_t fEBGTotalOld; //Old total background energy | |
87 | Float_t fEBGAve; //Average background energy | |
88 | Float_t fEnergy; //Energy | |
89 | Float_t fJetEta; //Jet eta value | |
90 | Float_t fJetPhi; //Jet phi value | |
91 | Float_t fEtaInit; //Jet initiate cell eta | |
92 | Float_t fPhiInit; //Jet initiate cell phi | |
93 | Float_t fEtaB; //Value of jet eta Before | |
94 | Float_t fPhiB; //Value of jet phi Before | |
95 | Float_t fJetESum; //Sum of weighted jet energy | |
96 | Float_t fJetEtaSum; //Sum of weighted jet eta | |
97 | Float_t fJetPhiSum; //Sum of weighted jet phi | |
98 | Float_t fDEta; //Offset of unit from jet eta value | |
99 | Float_t fDPhi; //Offset of unit from jet phi value | |
100 | Float_t fDistP; //Distance of new jet axis position from Previous position | |
101 | Float_t fDistI; //Distance of new jet axis position from Initiator cell position | |
102 | Float_t fTempE; //Temp E for comparing with JetEMin | |
103 | Float_t fRad; //Distance of cell from jet cone centre | |
104 | Int_t fNumInCone; //Number of units in the jet cone | |
105 | Int_t fNumJets; //Number of jets in an event | |
106 | Bool_t fArrayInitialised; //To check that array of units is initialised | |
107 | ||
5bf42aa6 | 108 | ClassDef(AliEMCALJetFinderAlgoOmni,3) |
f7d5860b | 109 | |
110 | }; | |
111 | #endif | |
112 |