LCFIVertex  0.7.2
VertexChargeProcessor.h
1 #ifndef VertexChargeProcessor_h
2 #define VertexChargeProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <map>
8 
9 #include "inc/algo.h"
10 #include "inc/decaychain.h"
11 #include "inc/jet.h"
12 #include "util/inc/projection.h"
13 
14 
15 using namespace lcio ;
16 using namespace marlin ;
18 using vertex_lcfi::Jet;
20 
44 class VertexChargeProcessor : public Processor {
45 
46  public:
47  //The usual Marlin processor methods
48  virtual Processor* newProcessor() { return new VertexChargeProcessor ; }
50  virtual void init() ;
51  virtual void processRunHeader( LCRunHeader* run ) ;
52  virtual void processEvent( LCEvent * evt ) ;
53  virtual void check( LCEvent * evt ) ;
54  virtual void end() ;
55  protected:
56  std::string _JetRPColName;
57  std::string _DecayChainRPColName;
58  std::string _RelationColName;
59  std::string _IPVertexCollectionName;
60  std::string _VertexChargeCollectionName;
61 
62  std::vector<std::string> _JetVariableNames;
63 
66 
67  bool _ChargeAddAllTracksFromSecondary;
68  double _ChargeLoDCutmin;
69  double _ChargeLoDCutmax;
70  double _ChargeCloseapproachCut;
71 
72  int _nRun ;
73  int _nEvt ;
74 } ;
75 
76 #endif
77 
78 
79 
Calculates the Vertex Charge.