All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
ClusterCheater5_3.h
Go to the documentation of this file.
1 #ifndef FORMTRUECLUSTERSKP_H
2 #define FORMTRUECLUSTERSKP_H 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
8 #include "HelixClass.h"
9 #include <EVENT/CalorimeterHit.h>
10 #include <EVENT/MCParticle.h>
11 
12 using namespace lcio ;
13 using namespace marlin ;
14 
15 
16 /**
17 \addtogroup Clustering Clustering
18 @{
19 
20 \addtogroup ClusterCheater5_3 ClusterCheater5_3
21 @{
22 This processor constructs true clusters.
23 === Cluster Cheater 5_3 === <br>
24  * This processor constructs true clusters.<br>
25  * All the hits are collected. <br>
26  * Uses gear to get inner radius and z of ecal. <br>
27  * @author P. Krstonosic (DESY)<br>
28  * @version $ld: $<br>
29  */
30 class ClusterCheater5_3 : public Processor {
31 
32  public:
33 
34  virtual Processor* newProcessor() { return new ClusterCheater5_3 ; }
35 
36 
38 
39  /** Initialization
40  */
41  virtual void init() ;
42 
43  /** Called for every run.
44  */
45  virtual void processRunHeader( LCRunHeader* run ) ;
46 
47  /** Called for every event - the working horse.
48  */
49  virtual void processEvent( LCEvent * evt ) ;
50 
51 
52  virtual void check( LCEvent * evt ) ;
53 
54 
55  /** Called after data processing for clean up.
56  */
57  virtual void end() ;
58 
59 
60  protected:
61 
62  int _nRun{};
63  int _nEvt{};
64 
65  double gearRMax{};
66  double zmax{};
67  int _nlost{};
68  std::string _trueClustCollection{};
69  std::vector<std::string> _caloCollections{};
70  std::string _relCollection{};
71  std::string _trueClustToMCP{};
72  std::string _MCcollection{};
73 
74  int _backcut{};
75  int _Nmin{};
76 } ;
77 
78 /** @} @}*/
79 
80 #endif
virtual Processor * newProcessor()