MarlinTPC  1.2.0
PulseShapeProcessor.h
1 #ifndef PULSESHAPEPROCESSOR_H
2 #define PULSESHAPEPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 #include <utility>
8 #include <cstdlib>
9 #include <map>
10 
11 //GEAR
12 #include "gear/TPCParameters.h"
13 
14 // Aida
15 #ifdef MARLIN_USE_AIDA
16 //AIDA
17 #include <marlin/AIDAProcessor.h>
18 #endif
19 
20 //ROOT
21 #include "TH2.h"
22 
23 namespace marlintpc
24 {
34 class PulseShapeProcessor : public marlin::Processor
35 {
36  public:
37 
38  virtual Processor* newProcessor() { return new PulseShapeProcessor; }
39 
41 
42  virtual void init();
43 
44  virtual void processRunHeader(lcio::LCRunHeader* run);
45 
46  virtual void processEvent(lcio::LCEvent* evt);
47 
48  virtual void check(lcio::LCEvent* evt);
49 
50  virtual void end();
51 
52 
53  protected:
54  /* the place for protected and private member data and functions */
55  std::string _inputColName;
56 
59 
61  bool _useOnlyHighQualityPulses;//< flag to set use of only high quality pulses in average pulse shapes
62 
67 
68  std::map<int, TH2*> _pulseHighestHistoVSCharge;
69 
70 };
71 } // namespace marlintpc
72 #endif // PULSESHAPEPROCESSOR_H
std::map< int, TH2 * > _pulseHighestHistoVSCharge
scatterplots to show the average pulse shape for different charge intervals
Definition: PulseShapeProcessor.h:68
TH2 * _pulseNeighborsHisto2D
scatterplot to show the distribution of shapes of the neighboring pulses
Definition: PulseShapeProcessor.h:64
std::string _inputColName
Name of the input collection.
Definition: PulseShapeProcessor.h:55
int _nNeighborsUsed
number of neighbors used in _normPulseNeighbors on each side of the max
Definition: PulseShapeProcessor.h:60
float _normPulseHistoMax
maximum relative pulse height value of the normalized pulse histograms
Definition: PulseShapeProcessor.h:57
TH2 * _pulseHighestHisto2D
scatterplot to show the distribution of shapes of the maximum pulses
Definition: PulseShapeProcessor.h:63
This processor creates average pulse shapes for the maximum pulse in a hit and its neighbors...
Definition: PulseShapeProcessor.h:34
TH2 * _normPulseNeighborsHisto2D
scatterplot to show the distribution of shapes of the normalized neighboring pulses ...
Definition: PulseShapeProcessor.h:66
TH2 * _normPulseHighestHisto2D
scatterplot to show the distribution of shapes of the normalized maximum pulses
Definition: PulseShapeProcessor.h:65
bool _usePolynomialInFit
determines if the polynomial is used in the gamma4 fit to approximate the underground ...
Definition: PulseShapeProcessor.h:58