"MarlinReco"  1.32.0
EMShowerFinder.h
1 #ifndef EMShowerFinder_h
2 #define EMShowerFinder_h 1
3 
4 #include <iostream>
5 #include <vector>
6 #include <map>
7 
8 #include <marlin/Processor.h>
9 #include <lcio.h>
10 
11 #include <EVENT/LCCollection.h>
12 #include <IMPL/LCCollectionVec.h>
13 #include <IMPL/ClusterImpl.h>
14 
15 #include <EVENT/CalorimeterHit.h>
16 #include "UTIL/CellIDDecoder.h"
17 #include <LCRTRelations.h>
18 
19 
20 #include "ClusterShapes.h"
21 #include "KITutil.h"
22 #include "Phys_Geom_Database.h"
23 
24 
25 // MarlinCED is only used for debugging
26 #include <MarlinCED.h>
27 
28 
29 using namespace lcio ;
30 using namespace marlin ;
31 
32 
33 typedef struct {
34 
35  CalorimeterHit* ECALHit{};
36  std::vector<PROTSEED2*> relatedCores{};
37  std::vector<double> probabilitiesForThisECALHit{};
38  std::vector<double> distancesToCoresForThisECALHit{};
39  std::vector<double> estimatedEnergyPerCore{};
40 
42 
43 
44 
45 // integer runtime extension which flags CalorimeterHits in EMShowers
46 struct isPartOfEMShowerCandidate : LCIntExtension<isPartOfEMShowerCandidate> {};
47 
48 
49 
59 class EMShowerFinder : public Processor {
60 
61  public:
62 
63  virtual Processor* newProcessor() { return new EMShowerFinder ; }
64 
65  EMShowerFinder() ;
66 
67  virtual void init() ;
68  virtual void processRunHeader( LCRunHeader* run ) ;
69  virtual void processEvent( LCEvent * evt ) ;
70  virtual void check( LCEvent * evt ) ;
71  virtual void end() ;
72 
73 
74  private:
75 
76 
77  protected:
78 
79  std::string _colNameECAL{};
80  std::string _collectionNameOfEMShowerCandidates{};
81  std::string _ToClean{};
82  int _CleanCut{};
83  int _N{};
84  vector<float> _miipstep{};
85  int _MinHit0{};
86  int _MinHitSplit{};
87  double _Rcut{};
88  double _Distcut{};
89  double _Coscut{};
90  double _energyDeviationCut{};
91  double _probabilityDensityCut{};
92 
93  int _debugLevel{};
94  int _drawOnCED{};
95 
96  int _nRun{};
97  int _nEvt{};
98 
99 } ;
100 
101 #endif
Definition: EMShowerFinder.h:46
Initial version of a processor to find electro-magnetic showers.
Definition: EMShowerFinder.h:59
Definition: EMShowerFinder.h:33