All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
IsolatedLeptonTaggingProcessor.h
Go to the documentation of this file.
1 #ifndef IsolatedLeptonTaggingProcessor_h
2 #define IsolatedLeptonTaggingProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 
8 #include "TMVA/Reader.h"
9 
10 /** processor for isolated lepton tagging.
11  * @version $Id: IsolatedLeptonTaggingProcessor.h,v 1.0 2013-10-31 12:57:39 Junping Exp $
12  */
13 
14 class IsolatedLeptonTaggingProcessor : public marlin::Processor {
15 
16  public:
17 
18  virtual marlin::Processor* newProcessor() { return new IsolatedLeptonTaggingProcessor ; }
19 
20 
22 
23  /** Called at the begin of the job before anything is read.
24  * Use to initialize the processor, e.g. book histograms.
25  */
26  virtual void init() ;
27 
28  /** Called for every run.
29  */
30  virtual void processRunHeader( LCRunHeader* run ) ;
31 
32  /** Called for every event - the working horse.
33  */
34  virtual void processEvent( LCEvent * evt ) ;
35 
36 
37  virtual void check( LCEvent * evt ) ;
38 
39 
40  /** Called after data processing for clean up.
41  */
42  virtual void end() ;
43 
44 
45  protected:
46 
47  /**
48  * Add the expected output collections
49  */
50  virtual void addOutputColls(LCEvent* evt, LCCollection* pfosWithoutIsoLepColl, LCCollection* isoLepColl);
51 
52  /** Input collection name.
53  */
54  std::string _colPFOs{};
55  std::string _colPVtx{};
56  std::string _colNewPFOs{};
57  std::string _colLeptons{};
59  std::string _isolated_muon_weights{};
60 
70  float _minPForMuon{};
72  float _maxZ0SigForMuon{};
73 
74  float _cosConeSmall{};
75  float _cosConeLarge{};
76 
78  bool _use_ip{};
79 
80  std::vector<TMVA::Reader*> _readers{};
83 
85 
86 } ;
87 
88 #endif
89 
90 
91 
virtual void end()
Called after data processing for clean up.
virtual void init()
Called at the begin of the job before anything is read.
virtual void processEvent(LCEvent *evt)
Called for every event - the working horse.
virtual marlin::Processor * newProcessor()
virtual void processRunHeader(LCRunHeader *run)
Called for every run.
processor for isolated lepton tagging.
virtual void addOutputColls(LCEvent *evt, LCCollection *pfosWithoutIsoLepColl, LCCollection *isoLepColl)
Add the expected output collections.
std::vector< TMVA::Reader * > _readers
std::string _colPFOs
Input collection name.