Attachment 'KITcalibrator.h'
Download 1 #ifndef KITcalibrator_1
2 #define KITcalibrator_1
3
4 #include <iostream>
5 #include "marlin/Processor.h"
6 #include <TH1F.h>
7 #include <TCanvas.h>
8 #include <TFile.h>
9 #include <TProfile.h>
10 #include <TTree.h>
11 #include <TNtuple.h>
12 #include <TRandom.h>
13 #include "lcio.h"
14 #include <string>
15 #include <stdio.h>
16 #include <vector>
17 #include <map>
18 #include <set>
19 #include <stack>
20 #include <sstream>
21 #include <bitset>
22 #include <queue>
23 #include <utility>
24 #include <algorithm>
25 #include <EVENT/LCCollection.h>
26 #include <EVENT/MCParticle.h>
27 #include <EVENT/ReconstructedParticle.h>
28 #include <EVENT/Cluster.h>
29 #include <IMPL/MCParticleImpl.h>
30 #include <IMPL/ClusterImpl.h>
31 #include <IMPL/LCCollectionVec.h>
32 #include <EVENT/SimCalorimeterHit.h>
33 #include <EVENT/CalorimeterHit.h>
34 #include <UTIL/LCTOOLS.h>
35 #include <iomanip>
36 #include "math.h"
37 #include "mySuperhit.h"
38 #include "KITutil_LDC00.h"
39 #include "MarlinCED.h"
40 #include "myMarlinMath.h"
41 #include "myPhys_Geom_Database.h"
42
43 using namespace lcio ;
44 using namespace marlin ;
45 using namespace std;
46 using namespace IMPL;
47 using namespace EVENT;
48
49
50 class KITcalibrator : public Processor {
51
52 public:
53
54 virtual Processor* newProcessor() { return new KITcalibrator ; }
55
56 KITcalibrator() ;
57
58 virtual void init() ;
59 virtual void processRunHeader( LCRunHeader* run ) ;
60 virtual void processEvent( LCEvent * evt ) ;
61 virtual void end();
62
63 protected:
64
65 int _options ;
66 int _nRun ;
67 int _nEvt ;
68
69 std::vector<CoreCalib2> coreCalibVector;
70
71 std::string _rootTreeName;
72 TFile * _rootFile;
73 TTree * _myTree;
74
75 std::string _Ecal_col;
76 std::string _CoreCollection;
77
78 int _Nlevels; //# cluster levels = 10 WARNING: to change this number requires code changes!
79 vector<float> _mipstep; //thresholds for cluster levels in MIP
80
81 string _ToClean; //apply topological cleaning
82 int _CleanCut; //min N neighbours
83 int _MinHit0; //min. # hits in level 0 cluster
84 int _MinHitSplit; //min. # hits for second cluster
85 double _rCut; //supress fluctuations
86 double _distCut; //min. distance between cluster [mm]
87 double _cosCut; //min. angle between cluster
88
89 int _NtrueCluster; // number of true clusters
90 double _trueClusterEnergy; //true cluster energy
91 double _level0_ClusterEnergy; //reco cluster energy level 0
92 double _level1_ClusterEnergy; //reco cluster energy level 1
93 double _level2_ClusterEnergy; //reco cluster energy level 2
94 double _level3_ClusterEnergy; //reco cluster energy level 3
95 double _level4_ClusterEnergy; //reco cluster energy level 4
96 double _level5_ClusterEnergy; //reco cluster energy level 5
97 double _level6_ClusterEnergy; //reco cluster energy level 6
98 double _level7_ClusterEnergy; //reco cluster energy level 7
99 double _level8_ClusterEnergy; //reco cluster energy level 8
100 double _level9_ClusterEnergy; //reco cluster energy level 9
101
102 int _debugLevel; //amount of output information 0: nothing - 9: a lot
103 int _desiredNCluster; //restrict to N true cluster
104 } ;
105
106
107
108
109
110
111
112
113
114
115
116
117
118 #endif
119
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.