MarlinTPC  1.2.0
PRFHitBuilderProcessor.h
1 #ifndef PRFHitBuilderPROCESSOR_H
2 #define PRFHitBuilderPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <marlin/Global.h>
6 #include <lcio.h>
7 #include <string>
8 
9 
10 // LCIO:
11 #include "EVENT/TrackerHit.h"
12 #include "EVENT/Track.h"
13 
14 #include "TPCConditionsListener.h"
15 
16 #include "PadResponseFunctionGEM.h"
17 
18 #include "TNtuple.h"
19 
20 
21 
22 namespace marlintpc {
23 
35  class PRFHitBuilderProcessor:public marlin::Processor
36  {
37  public:
38  virtual Processor* newProcessor()
39  {
40  return new PRFHitBuilderProcessor;
41  }
42 
44 
45  virtual void init();
46 
47  virtual void processRunHeader(EVENT::LCRunHeader* run);
48 
49  virtual void processEvent(EVENT::LCEvent* evt);
50 
51  virtual void check(EVENT::LCEvent* evt);
52 
53  virtual void end();
54 
55 
56  protected:
57  const gear::TPCParameters* _gearTPC ;
58  std::string _inputColName,_outputColName, _inputTPCConditionsCollectionName;
59  TPCConditionsListener *_tpcConditionsListener;
60 
61  //PRF tool
62  PadResponseFunctionGEM *_PadResponseFunctionGEM ;
64  int _PRConly;
65  //PRF parameters
66  double _defocussing, _diffusion;
67  //hit error diffusion parameters
68  double _offsetx,_slopex,_offsetz,_slopez;
69  //count how often PRF was actually used
70  int _PRF_used,_PRF_notused,_PRF_failed;
71  TNtuple *_testTuple;
72  };
73 
74 }
75 
76 #endif
A processor to improve the hit ionformation based on information from a pad response function (PRF)...
Definition: PRFHitBuilderProcessor.h:35
Functionality to evaluate the pad response function for a hit.
Definition: PadResponseFunctionGEM.h:27
Helper Class which provides access to the TPC conditions for every event.
Definition: TPCConditionsListener.h:37
int _PRConly
Switch to disable the fitting, just do the calculation of a correction (like in MultiFit) ...
Definition: PRFHitBuilderProcessor.h:64