26 , conf_(iConfig), m_cacheID_(0)
63 double d_residual_xmin =
Parameters.getParameter<
double>(
"xmin");
64 double d_residual_xmax =
Parameters.getParameter<
double>(
"xmax");
66 int32_t i_normres_Nbins = Parameters.
getParameter<int32_t>(
"Nbinx");
67 double d_normres_xmin = Parameters.getParameter<
double>(
"xmin");
68 double d_normres_xmax = Parameters.getParameter<
double>(
"xmax");
80 std::vector<uint32_t> activeDets;
82 tkmechstruct->addActiveDetectorsRawIds(activeDets);
86 std::vector<uint32_t> DetIds = activeDets;
89 for (std::vector<uint32_t>::const_iterator DetItr=activeDets.begin(),
90 DetItrEnd = activeDets.end(); DetItr!=DetItrEnd; ++DetItr)
92 uint ModuleID = (*DetItr);
100 std::string hid = hidmanager.createHistoId(
"HitResiduals",
"det",ModuleID);
101 std::string normhid = hidmanager.createHistoId(
"NormalizedHitResiduals",
"det",ModuleID);
103 i_residuals_Nbins,d_residual_xmin,d_residual_xmax);
104 HitResidual[ModuleID]->setAxisTitle(
"(x_{pred} - x_{rec})' [cm]");
106 i_normres_Nbins,d_normres_xmin,d_normres_xmax);
114 std::string histoname = Form(subdetandlayer.first.find(
"B") != std::string::npos ?
115 "HitResiduals_%s__Layer__%d" :
"HitResiduals_%s__wheel__%d" ,
116 subdetandlayer.first.c_str(),
std::abs(subdetandlayer.second));
118 Form(subdetandlayer.first.find(
"B") != std::string::npos ?
119 "NormalizedHitResidual_%s__Layer__%d" :
"NormalizedHitResidual_%s__wheel__%d" ,
120 subdetandlayer.first.c_str(),
std::abs(subdetandlayer.second));
122 ibooker.
book1D(histoname.c_str(),histoname.c_str(),
123 i_residuals_Nbins,d_residual_xmin,d_residual_xmax);
124 m_SubdetLayerResiduals[subdetandlayer]->
setAxisTitle(
"(x_{pred} - x_{rec})' [cm]");
126 ibooker.
book1D(normhistoname.c_str(),normhistoname.c_str(),
127 i_normres_Nbins,d_normres_xmin,d_normres_xmax);
144 if(outputMEsInRootFile){
161 std::vector<TrackerValidationVariables::AVHitStruct> v_hitstruct;
163 for (std::vector<TrackerValidationVariables::AVHitStruct>::const_iterator it = v_hitstruct.begin(),
164 itEnd = v_hitstruct.end(); it != itEnd; ++it) {
165 uint RawId = it->rawDetId;
T getParameter(std::string const &) const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
void dqmBeginRun(const edm::Run &, const edm::EventSetup &)
unsigned long long m_cacheID_
#define DEFINE_FWK_MODULE(type)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
void createMEs(DQMStore::IBooker &, const edm::EventSetup &)
SiStripFolderOrganizer folder_organizer
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
vector< ParameterSet > Parameters
HistoClass NormedHitResiduals
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
MonitorElement * book1D(Args &&...args)
Abs< T >::type abs(const T &t)
virtual void endRun(const edm::Run &, const edm::EventSetup &)
virtual void beginJob(void)
Detector identifier class for the strip tracker.
SubDetector subDetector() const
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
T const * product() const
std::map< std::pair< std::string, int32_t >, MonitorElement * > m_SubdetLayerNormedResiduals
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
GenericTriggerEventFlag * genTriggerEventFlag_
std::map< std::pair< std::string, int32_t >, MonitorElement * > m_SubdetLayerResiduals
MonitorTrackResiduals(const edm::ParameterSet &)
virtual void endJob(void)
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)