All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
TauFinder.h
Go to the documentation of this file.
1 #ifndef TauFinder_h
2 #define TauFinder_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include "TTree.h"
8 #include "TNtuple.h"
9 #include "TH1D.h"
10 #include "TFile.h"
11 #include "TMath.h"
12 #include "TSystem.h"
13 #include <EVENT/MCParticle.h>
14 #include <EVENT/ReconstructedParticle.h>
15 
16 using namespace lcio ;
17 using namespace marlin ;
18 
19 
20 /** TauFinder processor for marlin.
21  *
22  * @author A. Muennich, CERN
23  *
24  */
25 
26 class TauFinder : public Processor {
27 
28  public:
29 
30  virtual Processor* newProcessor() { return new TauFinder ; }
31 
32 
33  TauFinder() ;
34  TauFinder(const TauFinder&) = delete;
35  TauFinder& operator=(const TauFinder&) = delete;
36 
37  /** Called at the begin of the job before anything is read.
38  * Use to initialize the processor, e.g. book histograms.
39  */
40  virtual void init() ;
41 
42  /** Called for every run.
43  */
44  virtual void processRunHeader( LCRunHeader* run ) ;
45 
46  /** Called for every event - the working horse.
47  */
48  virtual void processEvent( LCEvent * evt ) ;
49 
50 
51  virtual void check( LCEvent * evt ) ;
52 
53 
54  /** Called after data processing for clean up.
55  */
56  virtual void end() ;
57 
58 
59  protected:
60 
61  /** Input collection name.
62  */
63  std::string _colNameMC{}, _colNameRECO{}, _incol{};
64  std::string _colNameMCTruth{}, _colNameTauRecLink{};
65  std::string _outcol{}, _outcolRest{};
66  std::string _OutputFile_Signal{};
67  int _nRun=-1;
68  int _nEvt=-1;
69 
70  float _ptcut=0.0,_ptseed=0.0,_cosTcut=0.0;
71  float _coneAngle=0.0,_isoAngle=0.0,_isoE=0.0;
72  float _D0seedmin=0.0, _D0seedmax=0.0,_minv=0.0;
73 
74  int _fail_minv=0.0,_fail_minv_neg=0.0,_fail_Qtr=0.0,_fail_isoE=0.0,_mergeTries=0.0;
75 
76  TFile *rootfile=NULL;
77  TNtuple *failtuple=NULL;
78 
79  bool FindTau(std::vector<ReconstructedParticle*> &Qvec,std::vector<ReconstructedParticle*> &Nvec,
80  std::vector<std::vector<ReconstructedParticle*> > &tauvec);
81 
82 } ;
83 
84 #endif
85 
86 
87 
TauFinder processor for marlin.
Definition: TauFinder.h:26
virtual Processor * newProcessor()
Definition: TauFinder.h:30