MarlinTPC  1.2.0
XrayEnergyCalibrationProcessor.h
1 #ifndef XrayEnergyCalibrationProcessor_h
2 #define XrayEnergyCalibrationProcessor_h 1
3 
4 #include "GridPixXrayObject.h"
5 
6 //c++
7 #include <string>
8 #include <vector>
9 #include <cmath>
10 
11 //lcio
12 #include <lcio.h>
13 #include <EVENT/LCCollection.h>
14 #include <IMPL/LCCollectionVec.h>
15 #include <EVENT/LCRelation.h>
16 #include <IMPL/LCRelationImpl.h>
17 #include <EVENT/TrackerHit.h>
18 
19 //marlin
20 #include <marlin/Processor.h>
21 #include <marlin/Global.h>
22 
23 //root
24 #include "TH1D.h"
25 
26 //aida
27 #include <AIDA/AIDA.h>
28 #include <marlin/AIDAProcessor.h>
29 
30 namespace marlintpc{
31 
32  class XrayEnergyCalibrationProcessor;
33 
34  class XrayEnergyCalibrationProcessor : public marlin::Processor{
35 
36  public:
37 
38  virtual Processor* newProcessor() {return new XrayEnergyCalibrationProcessor;}
39 
41 
43 
44  virtual void init();
45 
46  virtual void processRunHeader( lcio::LCRunHeader* run );
47 
48  virtual void processEvent( LCEvent * evt );
49 
50  virtual void end();
51 
52  protected:
53 
54  double energy( int value, std::vector<float>* parameters);
55 
56  std::string _inputCollection;
57 
58  std::string _outputXrays;
59 
60  std::string _outputCollection;
61 
62  int _outputIsTransient;
63 
64  std::vector<float> _energyFromChargeParameterVector;
65  std::vector<float> _energyFromPixelsParameterVector;
66 
67  TH1D* _energyFromChargeHistogram;
68  TH1D* _energyFromPixelsHistogram;
69 
70  };//class XrayEnergyCalibrationProcessor
71 
72 }//namespace marlintpc
73 
74 #endif
Definition: XrayEnergyCalibrationProcessor.h:34