MarlinTPC  1.2.0
PulseFinderProcessor.h
1 #ifndef PULSEFINDERPROCESSOR_H
2 #define PULSEFINDERPROCESSOR_H
3 
4 //LCIO
5 #include <lcio.h>
6 #include <EVENT/LCCollection.h>
7 #include <EVENT/TrackerData.h>
8 #include <IMPL/TrackerDataImpl.h>
9 #include <EVENT/TrackerPulse.h>
10 
11 //Marlin
12 #include <marlin/Processor.h>
13 
14 //LCCD
15 #include <lccd/ConditionsMap.hh>
16 #include "Pedestal.h"
17 #include "GenericADCElectronicsParameters.h"
18 
19 
20 //C++
21 #include <string>
22 
23 namespace marlintpc
24 {
25  class PulseFinder; // forward declaration of the PulseFinder class.
26 
117  class PulseFinderProcessor : public marlin::Processor
118  {
119 
120  public:
121 
122  virtual Processor* newProcessor()
123  {
124  return new PulseFinderProcessor;
125  }
126 
128 
129  virtual void init();
130 
131  virtual void processRunHeader(lcio::LCRunHeader* run);
132 
133  virtual void processEvent(lcio::LCEvent* evt);
134 
135  virtual void check(lcio::LCEvent* evt);
136 
137  virtual void end();
138 
139  protected:
140 
142  std::string _inputColName;
144  std::string _outputDataColName;
146  std::string _outputPulseColName;
148  std::string _pedestalColName;
149 
151  std::string _electrParaObjName;
152 
154  std::string _electrParaColName;
155 
157  //bool _use_amplitude_as_charge; // currently not implemented, but planned
158 
161 
169 
184 
185  // override variables
186 
190 
194 
198 
202 
206 
210 
215 
217 
218  };
219 }
220 #endif // PULSEFINDERPROCESSOR_H
221 
float _pulseEndPedestalWidthFactor
factor to calculate the start threshold
Definition: PulseFinderProcessor.h:173
std::string _inputColName
name of the collection, where input data are stored
Definition: PulseFinderProcessor.h:142
This processor creates lcio::TrackerPulse objects from lcio::TrackerData.
Definition: PulseFinderProcessor.h:117
int _polarityOverride
the polarity of all readout groups, overrides LCCD
Definition: PulseFinderProcessor.h:209
int _maxPlateauLength
The maximum length of a plateau within a pulse in time bins.
Definition: PulseFinderProcessor.h:214
int _saveNBinsBeforeStart
of bins stored before the start threshold
Definition: PulseFinderProcessor.h:179
std::string _outputPulseColName
name of the collection, where TrackerPulse are stored
Definition: PulseFinderProcessor.h:146
The PulseFinder class is working horse of the ModularPulseFinderProcessor.
Definition: PulseFinder.h:66
bool _isPedestalSubtractedOverride
Sets, if the data is already pedestal subtracted in the read-out electronics.
Definition: PulseFinderProcessor.h:205
bool _outputIsPersistent
Set this flag to use the amplitude (maximum bin value) of the pulse as the charge.
Definition: PulseFinderProcessor.h:160
std::string _electrParaObjName
Name of the conditions object in which the parameters of the read out electronics is stored...
Definition: PulseFinderProcessor.h:151
float _readoutFrequencyOverride
The readout frequency of every readout group (in MHz).
Definition: PulseFinderProcessor.h:193
double _timeCalculationParameter
parameter for time methods (different meaning for different methods)
Definition: PulseFinderProcessor.h:168
int _timeCalculationMode
the mode to calulate the time
Definition: PulseFinderProcessor.h:167
float _maximumADCValueOverride
maximum adc value, needed to determine if a pulse is maxed out
Definition: PulseFinderProcessor.h:189
float _minimumPulseHeight
minimal value for the maximum adc value
Definition: PulseFinderProcessor.h:175
bool _forceSpectrumSave
if not 0 the ADC spectrum will be saved for all pulses
Definition: PulseFinderProcessor.h:163
std::string _outputDataColName
name of the collection, where TrackerData are stored
Definition: PulseFinderProcessor.h:144
float _pedestalWidthOverride
The pedestal width to be used for every hardware channel in every readout group.
Definition: PulseFinderProcessor.h:201
int _saveNBinsAfterEnd
of bins stored after the end threshold
Definition: PulseFinderProcessor.h:181
PulseFinder * _pulseFinder
The instance of the pulse finder object.
Definition: PulseFinderProcessor.h:216
float _noiseValuePedestalWidthFactor
factor to calculate the noise cut
Definition: PulseFinderProcessor.h:183
int _chargeCalculationMode
the mode to calulate the charge
Definition: PulseFinderProcessor.h:166
bool _switchOffSplitting
if not 0 pulses will not be split
Definition: PulseFinderProcessor.h:165
float _pulseStartPedestalWidthFactor
factor to calculate the start threshold
Definition: PulseFinderProcessor.h:171
int _minimumPulseLength
minimal length for a pulse in number of time bins
Definition: PulseFinderProcessor.h:177
std::string _electrParaColName
Name of the conditions collection in which the parameters of the read out electronics is stored...
Definition: PulseFinderProcessor.h:154
float _pedestalValueOverride
The pedestal value to be used for every hardware channel in every readout group.
Definition: PulseFinderProcessor.h:197
std::string _pedestalColName
the name of the pedestal collection
Definition: PulseFinderProcessor.h:148