Fork me on GitHub

source: svn/trunk/modules/SimpleCalorimeter.h@ 1383

Last change on this file since 1383 was 1369, checked in by Michele Selvaggi, 11 years ago

added simplecalo

File size: 1.8 KB
Line 
1#ifndef SimpleCalorimeter_h
2#define SimpleCalorimeter_h
3
4/** \class SimpleCalorimeter
5 *
6 * Fills SimpleCalorimeter towers, performs SimpleCalorimeter resolution smearing,
7 * and creates energy flow objects (tracks, photons, and neutral hadrons).
8 *
9 * $Date: 2014-04-16 15:29:31 +0200 (Wed, 16 Apr 2014) $
10 * $Revision: 1364 $
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 SimpleCalorimeter: public DelphesModule
28{
29public:
30
31 SimpleCalorimeter();
32 ~SimpleCalorimeter();
33
34 void Init();
35 void Process();
36 void Finish();
37
38private:
39
40 typedef std::map< Long64_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 fTowerEnergy;
46 Double_t fTrackEnergy;
47
48 Double_t fTowerTime;
49 Double_t fTrackTime;
50
51 Double_t fTowerWeightTime;
52 Double_t fTrackWeightTime;
53
54 Int_t fTowerTrackHits, fTowerPhotonHits;
55
56 TFractionMap fFractionMap; //!
57 TBinMap fBinMap; //!
58
59 std::vector < Double_t > fEtaBins;
60 std::vector < std::vector < Double_t >* > fPhiBins;
61
62 std::vector < Long64_t > fTowerHits;
63
64 std::vector < Double_t > fTowerFractions;
65
66 std::vector < Double_t > fTrackFractions;
67
68 DelphesFormula *fResolutionFormula; //!
69
70 TIterator *fItParticleInputArray; //!
71 TIterator *fItTrackInputArray; //!
72
73 const TObjArray *fParticleInputArray; //!
74 const TObjArray *fTrackInputArray; //!
75
76 TObjArray *fTowerOutputArray; //!
77
78 TObjArray *fEFlowTowerOutputArray; //!
79
80 TObjArray *fTowerTrackArray; //!
81 TIterator *fItTowerTrackArray; //!
82
83 void FinalizeTower();
84 Double_t LogNormal(Double_t mean, Double_t sigma);
85
86 ClassDef(SimpleCalorimeter, 1)
87};
88
89#endif
Note: See TracBrowser for help on using the repository browser.