Fork me on GitHub

source: svn/trunk/modules/Calorimeter.h@ 1225

Last change on this file since 1225 was 1145, checked in by Pavel Demin, 11 years ago

optimize LogNormal

  • Property svn:keywords set to Id Revision Date
File size: 1.9 KB
Line 
1#ifndef Calorimeter_h
2#define Calorimeter_h
3
4/** \class Calorimeter
5 *
6 * Fills calorimeter towers, performs calorimeter resolution smearing,
7 * preselects towers hit by photons and creates energy flow objects.
8 *
9 * $Date: 2013-06-25 14:24:34 +0000 (Tue, 25 Jun 2013) $
10 * $Revision: 1145 $
11 *
12 *
13 * \author P. Demin - UCL, Louvain-la-Neuve
14 *
15 */
16
17#include "classes/DelphesModule.h"
18
19#include <map>
20#include <set>
21#include <vector>
22
23class TObjArray;
24class DelphesFormula;
25class Candidate;
26
27class Calorimeter: public DelphesModule
28{
29public:
30
31 Calorimeter();
32 ~Calorimeter();
33
34 void Init();
35 void Process();
36 void Finish();
37
38private:
39
40 typedef std::map< Long64_t, std::pair< Double_t, Double_t > > TFractionMap; //!
41 typedef std::map< Double_t, std::set< Double_t > > TBinMap; //!
42
43 Candidate *fTower;
44 Double_t fTowerEta, fTowerPhi, fTowerEdges[4];
45 Double_t fTowerECalEnergy, fTowerHCalEnergy;
46 Double_t fTowerECalNeutralEnergy, fTowerHCalNeutralEnergy;
47 Int_t fTowerNeutralHits, fTowerPhotonHits, fTowerElectronHits, fTowerTrackHits, fTowerAllHits;
48
49 TFractionMap fFractionMap; //!
50 TBinMap fBinMap; //!
51
52 std::vector < Double_t > fEtaBins;
53 std::vector < std::vector < Double_t >* > fPhiBins;
54
55 std::vector < Long64_t > fTowerHits;
56
57 std::vector < Double_t > fECalFractions;
58 std::vector < Double_t > fHCalFractions;
59
60 DelphesFormula *fECalResolutionFormula; //!
61 DelphesFormula *fHCalResolutionFormula; //!
62
63 TIterator *fItParticleInputArray; //!
64 TIterator *fItTrackInputArray; //!
65
66 const TObjArray *fParticleInputArray; //!
67 const TObjArray *fTrackInputArray; //!
68
69 TObjArray *fTowerOutputArray; //!
70 TObjArray *fPhotonOutputArray; //!
71
72 TObjArray *fEFlowTrackOutputArray; //!
73 TObjArray *fEFlowTowerOutputArray; //!
74
75 TObjArray *fTowerTrackArray; //!
76 TIterator *fItTowerTrackArray; //!
77
78 TObjArray *fTowerPhotonArray; //!
79 TIterator *fItTowerPhotonArray; //!
80
81 void FinalizeTower();
82 Double_t LogNormal(Double_t mean, Double_t sigma);
83
84 ClassDef(Calorimeter, 1)
85};
86
87#endif
Note: See TracBrowser for help on using the repository browser.