11#include <framework/core/HistoModule.h>
12#include <framework/datastore/StoreArray.h>
14#include <vxd/geometry/GeoCache.h>
19#include <unordered_map>
71 std::function< void (TH1*,
double&) >
fill;
97 void event(
void)
override final;
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
PXDIntercept stores the U,V coordinates and uncertainties of the intersection of a track with an PXD ...
void terminate(void) override final
This method is called at the end of the event processing.
int m_numModules
number of modules
StoreArray< PXDIntercept > m_pxdIntercept
the PXDIntercepts dataobjects collection
std::string m_InterceptsName
Name of the PXDIntercept StoreArray.
VXD::GeoCache & m_aGeometry
the geometry
TDirectory * m_ROIDir
ROI directory in the root file.
void fillSensorInterHistos(const PXDIntercept *inter)
fill histograms per sensor, filled once per intercept
void createHistosDictionaries()
create the dictionary
void initialize(void) override final
Initializer.
void fillSensorROIHistos(const ROIid *roi)
fill histograms per sensor, filled once per ROI
std::unordered_multimap< Belle2::VxdID, ROIHistoAndFill, std::function< size_t(const Belle2::VxdID &)> > m_hROIDictionary
map of histograms to be filled once per roi
void defineHisto() override final
define histograms
std::pair< TH1 *, std::function< void(TH1 *, const PXDIntercept *) > > InterHistoAndFill
typedef: histograms to be filled once per intercept + filling function
std::pair< TH1 *, std::function< void(TH1 *, const ROIid *) > > ROIHistoAndFill
typedef: histograms to be filled once per roi + filling function
TH1F * m_hnROIs
number of ROIs
std::string m_ROIsName
Name of the ROIid StoreArray.
StoreArray< ROIid > m_roiIDs
the ROIids dataobjects collection
TH1F * m_hredFactor
reduction factor
std::unordered_multimap< Belle2::VxdID, InterHistoAndFill, std::function< size_t(const Belle2::VxdID &)> > m_hInterDictionary
map of histograms to be filled once per intercept
TDirectory * m_InterDir
intercepts directory in the root file
std::string m_PXDDigitsName
digit list name
std::unordered_multimap< Belle2::VxdID, ROIHistoAccumulateAndFill &, std::function< size_t(const Belle2::VxdID &) > > m_hROIDictionaryEvt
map of histograms to be filled once per event
TH1F * m_hnInter
number of intercepts
StoreArray< PXDDigit > m_pxdDigits
the PXDDigits dataobjects collection
void event(void) override final
This method is called for each event.
ROIid stores the U and V ids and the sensor id of the Region Of Interest.
Accessor to arrays stored in the data store.
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
static GeoCache & getInstance()
Return a reference to the singleton instance.
Class to uniquely identify a any structure of the PXD and SVD.
Abstract base class for different kinds of events.
struct: histograms to be filled once per event + filling function + accumulate function
std::function< void(const ROIid *, double &) > accumulate
accumulate function
std::function< void(TH1 *, double &) > fill
fill function
TH1 * hPtr
histogram pointer
double value
value used to fill