MarlinKinfitProcessors  0.4.2
MCParticleFilter.h
1 #include <marlin/Processor.h>
2 
3 #include <EVENT/LCCollection.h>
4 #include <EVENT/Track.h>
5 #include <EVENT/LCRelation.h>
6 #include <EVENT/MCParticle.h>
7 #include <IMPL/LCCollectionVec.h>
8 #include "UTIL/LCRelationNavigator.h"
9 #include "UTIL/LCIterator.h"
10 #include "UTIL/Operators.h"
11 #include <UTIL/BitField64.h>
12 #include <UTIL/ILDConf.h>
13 #include <UTIL/BitSet32.h>
14 
15 // STUFF needed for GEAR
16 #include <marlin/Global.h>
17 #include <gear/GEAR.h>
18 #include <gear/VXDParameters.h>
19 #include <gear/VXDLayerLayout.h>
20 #include "gear/BField.h"
21 
22 #include <iomanip>
23 
24 using namespace lcio ;
25 using namespace marlin ;
26 using namespace std ;
27 
33 class MCParticleFilter : public Processor {
34 
35  public:
36 
37  virtual Processor* newProcessor() { return new MCParticleFilter ; }
38 
40 
44  virtual void init();
45 
48  virtual void processRunHeader( LCRunHeader* run ) ;
49 
52  virtual void processEvent( LCEvent * evt ) ;
53 
54 
55  //virtual void check( LCEvent * evt ) ;
56 
57 
60  virtual void end() ;
61 
62  protected:
63 
64  int nEvt{};
65 
66  private:
67 
68  int _printing{};
69  std::string _mcParticleCollectionName{};
70  std::string _outputParticleCollectionName{};
71  double _minDistanceSquared{};
72  double _maxDistanceSquared{};
73  int _minGenStatus{};
74  int _maxGenStatus{};
75 } ;
MCParticleFilter processor Chooses which MCParticles to keep author: Graham Wilson.
Definition: MCParticleFilter.h:33