MarlinTPC  1.2.0
HistogramTrackerDataProcessor.h
1 #ifndef HISTOGRAMTRACKERDATAPROCESSOR_H
2 #define HISTOGRAMTRACKERDATAPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 
8 // In case you want AIDA histograms
9 namespace AIDA
10 {
11  class IHistogram1D;
12  class IHistogram2D;
13 }
14 
31 class HistogramTrackerDataProcessor : public marlin::Processor
32 {
33  public:
34 
35  virtual Processor* newProcessor() { return new HistogramTrackerDataProcessor; }
36 
38 
40 
41  virtual void init();
42 
43  virtual void processRunHeader(EVENT::LCRunHeader* run);
44 
45  virtual void processEvent(EVENT::LCEvent* evt);
46 
47  virtual void check(EVENT::LCEvent* evt);
48 
49  virtual void end();
50 
51 
52  protected:
53  /* the place for protected and private member data and functions */
54  std::string _inputColName;
55 
56  AIDA::IHistogram1D * _maxQHistogram;
57  AIDA::IHistogram1D * _sumQHistogram;
58  AIDA::IHistogram1D * _pulseLengthHistogram;
59  AIDA::IHistogram1D * _timeHistogram;
60  AIDA::IHistogram1D * _nPulsesPerChannelHistogram;
61  AIDA::IHistogram2D * _lengthVsSumQHistogram;
62  AIDA::IHistogram2D * _lengthVsMaxQHistogram;
63  int _nBinsSumQ,_nBinsMaxQ,_nBinsLength, _nBinsTime;
64  float _maxSumQ;
65  float _maxTime;
66 
67  std::map<std::pair<int, int>, unsigned int> _nPulsesPerChannel;
68 };
69 #endif // HISTOGRAMTRACKERDATAPROCESSOR_H
AIDA::IHistogram1D * _pulseLengthHistogram
Number of ADC Values.
Definition: HistogramTrackerDataProcessor.h:58
AIDA::IHistogram1D * _nPulsesPerChannelHistogram
How may pulses are there per channel.
Definition: HistogramTrackerDataProcessor.h:60
AIDA::IHistogram1D * _sumQHistogram
Sum of ADC Values.
Definition: HistogramTrackerDataProcessor.h:57
AIDA::IHistogram1D * _maxQHistogram
Maximum ADC value.
Definition: HistogramTrackerDataProcessor.h:56
float _maxSumQ
Maximum of the SumQ histo (the others have nBins as range)
Definition: HistogramTrackerDataProcessor.h:64
float _maxTime
Maximum of the time histogram.
Definition: HistogramTrackerDataProcessor.h:65
int _nBinsTime
Number of bins in the histograms.
Definition: HistogramTrackerDataProcessor.h:63
std::string _inputColName
Name of the input collection.
Definition: HistogramTrackerDataProcessor.h:54
Processor to histogram the charge sum, the pulse maximum and the pulse length of TrackerData.
Definition: HistogramTrackerDataProcessor.h:31
AIDA::IHistogram1D * _timeHistogram
Start times of the pulses.
Definition: HistogramTrackerDataProcessor.h:59