FairRoot/PandaRoot
|
Electromagnetic calorimeter. More...
Classes | |
class | PndEmcBump |
represents a reconstructed (splitted) emc cluster More... | |
class | PndEmcCluster |
a cluster (group of neighboring crystals) of hit emc crystals More... | |
class | PndEmcDigi |
represents the reconstructed hit of one emc crystal More... | |
class | PndEmcHit |
represents the deposited energy of one emc crystal from simulation More... | |
class | PndEmcMultiWaveform |
Class to hold multiple waveforms from one Emc Hit / ADC readout. More... | |
class | PndEmcPoint |
represents a mc hit in an emc crystal More... | |
class | PndEmcRecoHit |
represents the reconstructed hit in the emc More... | |
class | PndEmcSharedDigi |
used to share PndEmcDigis between bumps More... | |
class | PndEmcWaveform |
represents a simulated waveform in an emc crystal More... | |
class | PndEmcWaveformData |
represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms More... | |
class | PndEmcAbsCrystalCalibrator |
Abstract interface for a emc calibrator. More... | |
class | PndEmcAbsPSA |
Baseclass for pulseshapeanalysis ( featureextraction ) More... | |
class | PndEmcAbsPulseshape |
pulseshape interface More... | |
class | PndEmcAbsWaveformModifier |
interface for waveform modifiers More... | |
class | PndEmcAbsWaveformSimulator |
Abstract base class for waveform simulator. More... | |
class | PndEmcAsicPulseshape |
Pulseshape from an APFEL ASIC preamplifier shaper. More... | |
class | PndEmcCR2RCPulseshape |
Pulseshape from an CR2RC-Shaper. More... | |
class | PndEmcDigiPar |
parameter set of Emc digitisation More... | |
class | PndEmcDummyCrystalCalibrator |
Dummy Calibrator for Emc Crystals. More... | |
class | PndEmcExpPulseshape |
Exponential Pulseshape. More... | |
class | PndEmcFadcFilter |
FADC FIR (finite impulse response) filter. More... | |
class | PndEmcFileCrystalCalibrator |
Class to use a textfile for Calibration. More... | |
class | PndEmcFittedPulseshape |
Experimentally derived Pulseshape. More... | |
class | PndEmcFullDigiTask |
combines the tasks PndEmcHitsToWaveform and PndEmcWaveformToDigi More... | |
class | PndEmcFullStackedWaveformSimulator |
Waveform simulator. More... | |
class | PndEmcFWEndcapDigi |
Task to create digis from waveforms. More... | |
class | PndEmcFWEndcapDigiPar |
parameter set for the FWEndcap variant of waveform simulation More... | |
class | PndEmcFWEndcapTimebasedWaveforms |
Taks to create waveforms from hits. More... | |
class | PndEmcHitProducer |
creates PndEmcHits from PndEmcPoints More... | |
class | PndEmcHitsToWaveform |
Takes list of PndEmcHits and creates PndEmcWaveform. More... | |
class | PndEmcMakeDigi |
Task to create PndEmcDigi from PndEmcHit. More... | |
class | PndEmcMultiWaveformSimulator |
Simulator to create PndEmcMultiWaveform. More... | |
class | PndEmcMultiWaveformToCalibratedDigi |
Module to take the hit list for the calorimeter and make ADC waveforms from them. More... | |
class | PndEmcHighLowPSA |
Wrapping class to manage two independent PSAs for high, resp. low gain. More... | |
class | PndEmcPSAMatchedDigiFilter |
Pulseshape analysis for ADC waveforms. More... | |
class | PndEmcPSAParabolic |
Pulseshape analysis for ADC waveforms. More... | |
class | PndEmcPSAParabolicBaseline |
Pulseshape analysis for ADC waveforms. More... | |
class | PndEmcPSATrapDigiFilter |
Pulseshape analysis for ADC waveforms. More... | |
class | PndEmcShapingNoiseAdder |
waveform modifier to add noise to waveform More... | |
class | PndEmcSimCrystalCalibrator |
Class to simulate a Calibration. More... | |
class | PndEmcTmpWaveformToDigi |
currently not used, not in CMakeLists.txt More... | |
class | PndEmcWaveformBuffer |
buffer for waveforms, used by PndEmcFWEndcapTimebasedWaveforms More... | |
class | PndEmcWaveformDigitizer |
waveform digitzer More... | |
class | PndEmcWaveformToCalibratedDigi |
Module to take the hit list for the calorimeter and make ADC waveforms from them. More... | |
class | PndEmcWaveformToDigi |
Takes list of PndEmcWaveform and creates PndEmcDigi. More... | |
class | PndEmcWfRescaler |
waveform rescaler More... | |
class | PndEmc |
Simulation of EMC. More... | |
class | PndEmc2DLocMaxFinder |
Searches for local maxima in a cluster. More... | |
class | PndEmcClusterRemoveDuplCrys |
Task to remove duplicate crystals. More... | |
class | PndEmcErrorMatrix |
Calculate Error Matrix for the given EmcCluster with parametrization defined by the given parameter PndEmcErrorMatrixPar. More... | |
class | PndEmcErrorMatrixParObject |
Container class for EMC error matrix parameter class is inherited from FairParGenericSet. More... | |
class | PndEmcExpClusterSplitter |
splits clusters on the basis of exponential distance from the bump centroid More... | |
class | PndEmcMakeBump |
Takes clusters and slits them up into bumps. More... | |
class | PndEmcMakeCluster |
Task to cluster PndEmcDigis. More... | |
class | PndEmcMakeRecoHit |
Create PndEmcRecoHit from PndEmcBump. More... | |
class | PndEmcPhiBumpSplitter |
splits clusters based on local maxima in the Phi direction for use with Bremstrahlung correction. More... | |
class | PndEmcRecoPar |
Parameter set for Emc Reco. More... | |
class | PndEmcHdrFiller |
Task to create Emc header. More... | |
class | PndEmcMapper |
Emc geometry mapper. More... | |
class | PndEmcStructure |
geometry helper class More... | |
class | PndEmcTwoCoordIndex |
stores crystal index coordinates (x,y) or (theta,phi) More... | |
class | PndEmcXtal |
represents coordinates of one crystal More... | |
Electromagnetic calorimeter.
Simulation is handled by PndEmc. The energy deposit creates an PndEmcPoint, from those the task PndEmcHitProducer creates PndEmcHits.
Geometry is handled by the PndEmcMapper. The class PndEmcTwoCoordIndex is used to store the crystal coordinates and check for neighbors.
The standard way to create PndEmcRecoHit from detector hits (PndEmcPoint) involves the following tasks:
As an alternative, one can use PndEmcMakeDigi to create PndEmcDigis directly from PndEmcHits, bypassing the waveform generation and pulse shape analysis.
To simulate the full detector readout chain, the waveform of the detector and the following pulse shape analysis are simulated. The task PndEmcHitsToWaveform uses the pulseshape PndEmcAsicPulseshape for barrel, FwEndcap and BwEndcap and PndEmcCRRCPulseshape for the shashlyk. The task PndEmcWaveformToDigi then uses PndEmcPSAMatchedDigiFilter for the pulse shape analysis of barrel, FwEndcap and BwEndcap and PndEmcPSAParabolic for the shashlyk.
There are two ways running the waveform generation and pulse shape analysis in time-based simulation. One was implemented inside the PndEmcHitsToWaveform and PndEmcWaveformToDigi classes, the other one uses its own classes prefixed (in parts) with PndEmcFWEndcap. This does not mean that they are only for the FwEndcap, but they were developed for the FwEndcap first and can now be used for the whole EMC.
The variant using PndEmcWaveformToDigi creates the waveforms in the same way as for event-based simulation, but uses a different buffer PndEmcWaveformWriteoutBuffer. In PndEmcWaveformWriteoutBuffer::Modify() the waveforms are added in the case of pileup via the newly implemented operator PndEmcWaveform::operator+=(). As the noise is generated for the individual waveforms, the noise adds up quadratically in this case. The waveforms have to be sorted before digitisation (PndEmcWaveformSorterTask).
Pulse shape analysis is done in PndEmcWaveformToDigi, using the branch EmcSortedWaveform instead of EmcWaveform.
The variant using PndEmcFWEndcapTimebasedWaveforms uses a more modular approach with a simulator (inheriting PndEmcAbsWaveformSimulator) and modifier (inheriting PndEmcAbsWaveformModifier) to create waveforms. In case of pileup, the waveforms are first joined and afterwards the noise is added (by waveform modifier PndEmcShapingNoiseAdder). This variant also uses a custom writeout buffer (PndEmcWaveformBuffer).
Pulse shape analysis is done in PndEmcFWEndcapDigi. The digis have to be sorted by PndEmcDigiSorterTask. Due to limitations in PndEmcMakeCluster, the task PndEmcClusterRemoveDuplCrys is needed to remove double hits in one crystal for one event.