 |
Belle II Software
release-05-02-19
|
1 #ifndef SVDBackgroundMODULE_H_
2 #define SVDBackgroundMODULE_H_
4 #include <framework/core/Module.h>
5 #include <framework/gearbox/Unit.h>
6 #include <vxd/dataobjects/VxdID.h>
7 #include <vxd/geometry/SensorInfoBase.h>
8 #include <svd/geometry/SensorInfo.h>
9 #include <vxd/geometry/GeoCache.h>
13 #include <vxd/background/niel_fun.h>
114 virtual void event()
override;
116 virtual void endRun()
override;
211 return info.getWidth() * info.getLength() * info.getThickness() *
c_densitySi;
217 return info.getWidth() * info.getLength();
static const double s
[second]
std::unique_ptr< TNiel > m_nielElectrons
Pointer to Niel table for electrons.
Class to uniquely identify a any structure of the PXD and SVD.
double getSensorThickness(VxdID sensorID) const
Return thickness of the sensor with the given sensor ID.
static const double ns
Standard of [time].
double m_componentTime
Time of current component.
std::string m_storeOccupancyEventsName
SVDOccupancyEvents StoreArray name.
static const SensorInfoBase & get(Belle2::VxdID id)
Return a reference to the SensorInfo of a given SensorID.
std::string m_relParticlesTrueHitsName
MCParticlesToSVDTrueHits RelationArray name.
int getTotalSensors()
Get total number of sensors.
std::unique_ptr< TNiel > m_nielNeutrons
Pointer to Niel table for neutrons.
std::string m_storeNeutronFluxesName
SVDNeutronFluxEvents StoreArray name.
unsigned short m_nfluxReportingLevel
0 - no data, 1 - summary only, 2 - ntuple
unsigned short m_doseReportingLevel
0 - no data, 1 - summary only, 2 - ntuple
static const int c_nVXDLayers
Number of VXD layers.
std::string m_relClusterDigitName
SVDClustersToSVDDigits RelationArray name.
const double c_APVCycleTime
APV cycle time.
void setLayerNumber(baseType layer)
Set the layer id.
SVDBackgroundModule()
Constructor.
std::string m_storeEnergyDepositsName
SVDEnergyDepositEvents StoreArray name.
const SVD::SensorInfo & getInfo(VxdID sensorID) const
This is a shortcut to getting SVD::SensorInfo from the GeoCache.
Specific implementation of SensorInfo for SVD Sensors which provides additional sensor specific infor...
virtual void initialize() override
Initialize the Module.
double m_firedV_t
Fired pixels in V, occupied time per cm2 and second.
std::string m_relDigitsTrueHitsName
StoreArray name of SVDDigits to SVDTrueHits relation.
double m_occupancyV
Occupancy in V.
static const unsigned short c_reportNone
No reporting.
std::string m_relDigitsMCParticlesName
StoreArray name of SVDDigits to MCParticles relation.
std::string m_storeSimHitsName
SVDSimHits StoreArray name.
const std::string c_niel_neutronFile
NIEL-correction file for neutrons.
std::string m_storeMCParticlesName
MCParticles StoreArray name.
virtual void endRun() override
This method is called if the current run ends.
const std::set< Belle2::VxdID > & getSensors(Belle2::VxdID ladder) const
Return a set of all sensor IDs belonging to a given ladder.
static const unsigned short c_reportNTuple
Summary and NTuple.
double m_neutronFlux
Neutron flux.
std::string m_componentName
Name of the current component.
virtual void beginRun() override
Called when entering a new run.
double m_firedU
Fired pixels in U, per cm2 and second, zero-suppression threshold.
Struct to hold data of an SVD sensor.
std::string m_storeTrueHitsName
SVDTrueHits StoreArray name.
virtual void terminate() override
This method is called at the end of the event processing.
const TVector3 & vectorToGlobal(VxdID sensorID, const TVector3 &local)
Convert local vector coordinates to global.
double m_expo
Exposition (energy deposited per cm2 and 1 second)
static const unsigned short c_reportSummary
Summary only.
const double c_smy
Seconds in snowmass year.
const std::string c_niel_protonFile
NIEL-correction file for protons.
static GeoCache & getInstance()
Return a reference to the singleton instance.
Abstract base class for different kinds of events.
double getThickness() const
Return the thickness of the sensor.
double m_firedV
Fired pixels in V, per cm2 and second, zero-suppression threshold.
std::string m_storeClustersName
SVDClusters StoreArray name.
std::string m_storeDigitsName
SVDDigits StoreArray name.
std::unique_ptr< TNiel > m_nielPions
Pointer to Niel table for pions.
std::unique_ptr< TNiel > m_nielProtons
Pointer to Niel table for protons.
double m_occupancyU
Occupancy in U.
double getSensorArea(VxdID sensorID) const
Return area of the sensor with the given sensor ID.
const std::string c_niel_electronFile
NIEL-correction file for electrons.
double m_triggerWidth
RMS of trigger time measurement.
double m_acceptanceWidth
A hit is accepted if arrived within +/- m_acceptanceWidth * RMS(hit time - trigger time).
virtual ~SVDBackgroundModule()
Destructor.
std::string m_storeBgMetaDataName
Name of the persistent BackgroundMetaDta object.
std::string m_outputDirectoryName
Path to directory where output data will be stored.
unsigned short m_occupancyReportingLevel
0 - no data, 1 - summary only, 2 - ntuple
double m_occupancyV_APV
Occupancy in V, for 1 APV cycle.
const std::string c_niel_pionFile
NIEL-correction file for pions.
double m_occupancyU_APV
Occupancy in U, for 1 APV cycle.
std::string m_relTrueHitsSimHitsName
SVDTrueHitsToSVDSimHits RelationArray name.
double getSensorMass(VxdID sensorID) const
Return mass of the sensor with the given sensor ID.
double m_firedU_t
Fired pixels in U, occupied time per cm2 and second.
std::map< VxdID, SensorData > m_sensorData
Struct to hold sensor-wise background data.
std::string m_storeFileMetaDataName
Name of the persistent FileMetaData object.
double m_dose
Dose (Gy/smy)
const double c_densitySi
Density of crystalline Silicon.
static const double g_cm3
Practical units with the value set at 1.
int getNumSensors(int layerNum)
Get number of sensors in a layer.
virtual void event() override
This method is the core of the module.
const TVector3 & pointToGlobal(VxdID sensorID, const TVector3 &local)
Convert local sensor coordinates to global.