All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
ZFinder.h
Go to the documentation of this file.
1 #include "marlin/Processor.h"
2 #include "EVENT/ReconstructedParticle.h"
3 #include "lcio.h"
4 #include <vector>
5 #include "IMPL/LCCollectionVec.h"
6 
7 using namespace lcio ;
8 
9 
10 /** ZFinder:<br>
11  * Returns the best Z->ee/Z->mm candidate in the event. Relatively
12  * loose cuts are applied. For a physics analysis tighter cuts (applied
13  * user analysis code) might be required. Bremstrahlung/FSR recovery is
14  * on by default.
15  *
16  * @author M.Thomson Cambridge
17  */
18 
19 class ZFinder : public marlin::Processor {
20 
21  public:
22 
23  virtual marlin::Processor* newProcessor() { return new ZFinder ; }
24 
25  ZFinder() ;
26 
27  /** Called at the begin of the job before anything is read.
28  * Use to initialize the processor, e.g. book histograms.
29  */
30  virtual void init() ;
31 
32  /** Called for every run.
33  */
34  virtual void processRunHeader( LCRunHeader* run ) ;
35 
36  /** Called for every event - the working horse.
37  */
38  virtual void processEvent( LCEvent * evt ) ;
39 
40 
41  /** Called after data processing for clean up.
42  */
43  virtual void end() ;
44 
45  bool FindPFOs( LCEvent* evt );
46  void FindZee( LCCollectionVec *);
47  void FindZmumu( LCCollectionVec *);
48 
49 private:
50 
51  std::vector<ReconstructedParticle*>_pfovec{};
52  int _printing{};
53  std::string _zdecay{};
54  std::string _inputParticleCollectionName{};
55  std::string _outputParticleCollectionName{};
56  float _momentumCut{};
57  float _muonEcalEnergyCut{};
58  float _muonHcalEnergyCut{};
59  float _muonHcalEnergyCut1{};
60  float _electronEcalEnergyCut{};
61  float _electronHcalEnergyCut{};
62  float _electronEoPCutLow{};
63  float _electronEoPCutHigh{};
64  float _dmzcut{};
65  int _addPhotons{};
66  int _canUseClusterEnergyForElectrons{};
67  float _cosTrackGammaCut{};
68 
69 protected:
70 
71 } ;
72 
virtual marlin::Processor * newProcessor()
Definition: ZFinder.h:23
std::vector< LCCollection * > LCCollectionVec
Definition: SiStripClus.h:55
ZFinder: Returns the best Z-&gt;ee/Z-&gt;mm candidate in the event.
Definition: ZFinder.h:19