|
|
#include <SiStripMonitorTrack.h>
|
void | AllClusters (const edm::Event &ev) |
|
void | book (DQMStore::IBooker &, const TrackerTopology *tTopo, const TkDetMap *tkDetMap) |
|
void | bookLayerMEs (DQMStore::IBooker &, const uint32_t, std::string &) |
|
MonitorElement * | bookME1D (DQMStore::IBooker &, const char *, const char *) |
|
MonitorElement * | bookME2D (DQMStore::IBooker &, const char *, const char *) |
|
MonitorElement * | bookME3D (DQMStore::IBooker &, const char *, const char *) |
|
MonitorElement * | bookMEProfile (DQMStore::IBooker &, const char *, const char *) |
|
MonitorElement * | bookMETrend (DQMStore::IBooker &, const char *) |
|
void | bookModMEs (DQMStore::IBooker &, const uint32_t) |
|
void | bookRing (DQMStore::IBooker &, const uint32_t, std::string &) |
|
void | bookRingMEs (DQMStore::IBooker &, const uint32_t, std::string &) |
|
void | bookSubDetMEs (DQMStore::IBooker &, std::string &name) |
|
bool | clusterInfos (SiStripClusterInfo *cluster, const uint32_t detid, enum ClusterFlags flags, bool track_ok, LocalVector LV, const Det2MEs &MEs, const TrackerTopology *tTopo, const SiStripGain *stripGain, const SiStripQuality *stripQuality, const edm::DetSetVector< SiStripDigi > &digilist, float clustZ, float clustPhi) |
|
bool | fillControlViewHistos (const edm::Event &ev) |
|
void | fillME (MonitorElement *ME, float value1) |
|
void | fillME (MonitorElement *ME, float value1, float value2) |
|
void | fillME (MonitorElement *ME, float value1, float value2, float value3) |
|
void | fillME (MonitorElement *ME, float value1, float value2, float value3, float value4) |
|
Det2MEs | findMEs (const TrackerTopology *tTopo, const uint32_t detid) |
|
MonitorElement * | handleBookMEs (DQMStore::IBooker &, std::string &, std::string &, std::string &, std::string &) |
|
void | hitStudy (const edm::Event &ev, const edm::DetSetVector< SiStripDigi > &digilist, const ProjectedSiStripRecHit2D *projhit, const SiStripMatchedRecHit2D *matchedhit, const SiStripRecHit2D *hit2D, const SiStripRecHit1D *hit1D, LocalVector localMomentum, const bool track_ok) |
|
template<class T > |
void | RecHitInfo (const T *tkrecHit, LocalVector LV, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev, bool track_ok) |
|
void | return2DME (MonitorElement *input1, MonitorElement *input2, int binx, int biny, double value) |
|
bool | trackFilter (const reco::Track &track) |
|
void | trackStudy (const edm::Event &ev) |
|
void | trackStudyFromTrack (edm::Handle< reco::TrackCollection > trackCollectionHandle, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev) |
|
void | trackStudyFromTrajectory (edm::Handle< reco::TrackCollection > trackCollectionHandle, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev) |
|
void | trajectoryStudy (const reco::Track &track, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev, bool track_ok) |
|
Definition at line 65 of file SiStripMonitorTrack.h.
◆ ConstRecHitPointer
◆ ClusterFlags
◆ RecHitType
◆ SiStripMonitorTrack()
Definition at line 24 of file SiStripMonitorTrack.cc.
27 trackerGeometryToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
30 tkDetMapToken_(esConsumes<TkDetMap, TrackerTopologyRcd, edm::Transition::BeginRun>()),
References applyClusterQuality_, clchCMoriginTkHmap_On_, Cluster_src_, clusterToken_, conf_, dcsStatus_, digiToken_, edm::ParameterSet::getParameter(), Mod_On_, sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, TkHistoMap_On_, topFolderName_, TrackLabel_, TrackProducer_, trackToken_, Trend_On_, widthLowerLimit_, and widthUpperLimit_.
◆ ~SiStripMonitorTrack()
SiStripMonitorTrack::~SiStripMonitorTrack |
( |
| ) |
|
|
override |
◆ AllClusters()
void SiStripMonitorTrack::AllClusters |
( |
const edm::Event & |
ev | ) |
|
|
private |
Definition at line 1250 of file SiStripMonitorTrack.cc.
1266 if (siStripClusterHandle.
isValid()) {
1269 DSVEnd = siStripClusterHandle->end();
1272 uint32_t detid = DSViter->id();
1275 LogDebug(
"SiStripMonitorTrack") <<
"on detid " << detid <<
" N Cluster= " << DSViter->size();
1306 edm::LogError(
"SiStripMonitorTrack") <<
"ClusterCollection is not valid!!" << std::endl;
References clusterInfos(), clusterToken_, digiToken_, ev, findMEs(), edm::HandleBase::isValid(), LogDebug, EcalMEFormatter_cfi::MEs, OffTrack, edm::Handle< T >::product(), SiStripClusterInfo::setCluster(), siStripClusterInfo_, SiStripClusterInfo::siStripGain(), SiStripClusterInfo::siStripQuality(), trackerTopology_, and vPSiStripCluster.
Referenced by analyze().
◆ analyze()
Reimplemented from DQMEDAnalyzer.
Definition at line 98 of file SiStripMonitorTrack.cc.
110 LogDebug(
"SiStripMonitorTrack") <<
"[SiStripMonitorTrack::analyse] "
111 <<
"Run " <<
e.id().run() <<
" Event " <<
e.id().event() << std::endl;
120 iSubDet->second.totNClustersOnTrack = 0;
121 iSubDet->second.totNClustersOffTrack = 0;
134 std::map<std::string, MonitorElement*>::iterator iME;
135 std::map<std::string, LayerMEs>::iterator iLayerME;
137 if (!(
topFolderName_.find(
"IsolatedBunches") != std::string::npos)) {
145 SubDetMEs subdet_mes = iSubDet.second;
146 if (subdet_mes.totNClustersOnTrack > 0) {
147 fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
149 fillME(subdet_mes.nClustersOffTrack, subdet_mes.totNClustersOffTrack);
150 fillME(subdet_mes.nClustersTrendOnTrack,
iLumisection, subdet_mes.totNClustersOnTrack);
151 fillME(subdet_mes.nClustersTrendOffTrack,
iLumisection, subdet_mes.totNClustersOffTrack);
155 SubDetMEs subdet_mes = iSubDet.second;
156 if (subdet_mes.totNClustersOnTrack > 0) {
157 fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
159 fillME(subdet_mes.nClustersOffTrack, subdet_mes.totNClustersOffTrack);
References GenericTriggerEventFlag::accept(), AllClusters(), dcsStatus_, MillePedeFileConverter_cfg::e, eventNb, fillControlViewHistos(), fillME(), genTriggerEventFlag_, edm::EventSetup::getData(), SiStripDCSStatus::getStatus(), iLumisection, SiStripClusterInfo::initEvent(), LogDebug, SiStripMonitorTrack::SubDetMEs::nClustersOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersOnTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOnTrack, GenericTriggerEventFlag::on(), siStripClusterInfo_, SubDetMEsMap, topFolderName_, SiStripMonitorTrack::SubDetMEs::totNClustersOffTrack, SiStripMonitorTrack::SubDetMEs::totNClustersOnTrack, trackerTopology_, trackerTopologyEventToken_, trackStudy(), Trend_On_, and vPSiStripCluster.
◆ book()
Definition at line 165 of file SiStripMonitorTrack.cc.
171 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_StoNCorrOnTrack", 0.0,
true);
173 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_NumberOfOnTrackCluster", 0.0,
true);
175 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_NumberOfOfffTrackCluster", 0.0,
true);
177 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_ChargePerCMfromTrack", 0.0,
true);
179 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_NumberMissingHits", 0.0,
true,
true);
181 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_NumberInactiveHits", 0.0,
true,
true);
183 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_NumberValidHits", 0.0,
true,
true);
187 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_ClusterWidthOnTrack", 0.0,
true);
189 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_ClusterWidthOffTrack", 0.0,
true);
193 std::make_unique<TkHistoMap>(tkDetMap,
topFolderName_,
"TkHMap_ChargePerCMfromOrigin", 0.0,
true);
196 std::vector<uint32_t> vdetId_;
198 const char* tec =
"TEC";
199 const char* tid =
"TID";
204 for (std::vector<uint32_t>::const_iterator detid_iter = vdetId_.begin(), detid_end = vdetId_.end();
205 detid_iter != detid_end;
207 uint32_t detid = *detid_iter;
210 edm::LogError(
"SiStripMonitorTrack") <<
"[" << __PRETTY_FUNCTION__ <<
"] invalid detid " << detid << std::endl;
217 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
false);
226 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(layer_id);
228 folder_organizer.
setLayerFolder(detid, tTopo, det_layer_pair.second,
false);
232 const char* subdet = det_layer_pair.first.c_str();
233 if (std::strstr(subdet, tec) !=
nullptr || std::strstr(subdet, tid) !=
nullptr) {
237 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
238 folder_organizer.
setLayerFolder(detid, tTopo, det_ring_pair.second,
true);
244 std::pair<std::string, std::string> sdet_pair = folder_organizer.
getSubDetFolderAndTag(detid, tTopo);
254 for (std::vector<uint32_t>::const_iterator detid_iter = vdetId_.begin(), detid_end = vdetId_.end();
255 detid_iter != detid_end;
257 uint32_t detid = *detid_iter;
260 edm::LogError(
"SiStripMonitorTrack") <<
"[" << __PRETTY_FUNCTION__ <<
"] invalid detid " << detid << std::endl;
267 std::pair<std::string, int32_t> det_layer_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
false);
276 std::map<std::string, LayerMEs>::iterator iLayerME =
LayerMEsMap.find(layer_id);
278 folder_organizer.
setLayerFolder(detid, tTopo, det_layer_pair.second,
false);
282 const char* subdet = det_layer_pair.first.c_str();
283 if (std::strstr(subdet, tec) !=
nullptr || std::strstr(subdet, tid) !=
nullptr) {
287 std::pair<std::string, int32_t> det_ring_pair = folder_organizer.
GetSubDetAndLayer(detid, tTopo,
true);
288 folder_organizer.
setLayerFolder(detid, tTopo, det_ring_pair.second,
true);
294 std::pair<std::string, std::string> sdet_pair = folder_organizer.
getSubDetFolderAndTag(detid, tTopo);
303 if (!(
topFolderName_.find(
"IsolatedBunches") != std::string::npos)) {
307 ibooker.
book1D(
"ClusterStoNCorr_OnTrack_TIBTID",
"TIB/TID [FECCrate=1] (OnTrack)", 100, 0., 100.);
311 ibooker.
book1D(
"ClusterStoNCorr_OnTrack_TOB",
"TOB [FECCrate=4] (OnTrack)", 100, 0., 100.);
315 ibooker.
book1D(
"ClusterStoNCorr_OnTrack_TECM",
"TECM [FECCrate=3] (OnTrack)", 100, 0., 100.);
319 ibooker.
book1D(
"ClusterStoNCorr_OnTrack_TECP",
"TECP [FECCrate=2] (OnTrack)", 100, 0., 100.);
323 ibooker.
book2D(
"ClusterStoNCorr_OnTrack_FECCratevsFECSlot",
" S/N (On track)", 22, 0.5, 22.5, 4, 0.5, 4.5);
332 "TIB/TID [FECCrate=1] (OnTrack)",
343 "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB",
"TOB [FECCrate=4] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
348 "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM",
"TEC- [FECCrate=3] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
353 "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP",
"TEC- [FECCrate=2] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
362 ibooker.
book2D(
"ClusterCount_OnTrack_FECCratevsFECSlot",
" S/N (On track)", 22, 0.5, 22.5, 4, 0.5, 4.5);
371 "ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID",
"TIB/TID [FECCrate=1] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
376 "ClusterCount_OnTrack_FECSlotVsFECRing_TOB",
"TOB [FECCrate=4] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
381 "ClusterCount_OnTrack_FECSlotVsFECRing_TECM",
"TEC- [FECCrate=3] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
386 "ClusterCount_OnTrack_FECSlotVsFECRing_TECP",
"TEC- [FECCrate=2] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
References SiStripDetCabling::addActiveDetectorsRawIds(), dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), bookLayerMEs(), bookModMEs(), bookRingMEs(), bookSubDetMEs(), clchCMoriginTkHmap_On_, ClusterCount_OnTrack_FECCratevsFECSlot, ClusterCount_OnTrack_FECSlotVsFECRing_TECM, ClusterCount_OnTrack_FECSlotVsFECRing_TECP, ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID, ClusterCount_OnTrack_FECSlotVsFECRing_TOB, ClusterStoNCorr_OnTrack_FECCratevsFECSlot, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB, ClusterStoNCorr_OnTrack_TECM, ClusterStoNCorr_OnTrack_TECP, ClusterStoNCorr_OnTrack_TIBTID, ClusterStoNCorr_OnTrack_TOB, SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), LayerMEsMap, Mod_On_, alignCSCRings::ring_id, RingMEsMap, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripFolderOrganizer::setSiStripFolderName(), siStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetMEsMap, tkhisto_ClChPerCMfromOrigin, tkhisto_ClChPerCMfromTrack, tkhisto_ClusterWidthOffTrack, tkhisto_ClusterWidthOnTrack, tkhisto_NoiseOffTrack, tkhisto_NoiseOnTrack, tkhisto_NumberInactiveHits, tkhisto_NumberValidHits, tkhisto_NumMissingHits, tkhisto_NumOffTrack, tkhisto_NumOnTrack, tkhisto_StoNCorrOnTrack, TkHistoMap_On_, and topFolderName_.
Referenced by bookHistograms().
◆ bookHistograms()
◆ bookLayerMEs()
void SiStripMonitorTrack::bookLayerMEs |
( |
DQMStore::IBooker & |
ibooker, |
|
|
const uint32_t |
mod_id, |
|
|
std::string & |
layer_id |
|
) |
| |
|
private |
Definition at line 464 of file SiStripMonitorTrack.cc.
471 LayerMEs theLayerMEs;
475 hpar =
"TH1ClusterStoNCorr";
476 theLayerMEs.ClusterStoNCorrOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
480 hpar =
"TH1ClusterGain";
481 theLayerMEs.ClusterGain =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
485 hpar =
"TH1ClusterChargeCorr";
486 theLayerMEs.ClusterChargeCorrOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
490 hpar =
"TH1ClusterCharge";
491 theLayerMEs.ClusterChargeOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
494 hpar =
"TH1ClusterCharge";
495 theLayerMEs.ClusterChargeOffTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
499 hpar =
"TH1ClusterChargeRaw";
500 theLayerMEs.ClusterChargeRawOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
503 hpar =
"TH1ClusterChargeRaw";
504 theLayerMEs.ClusterChargeRawOffTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
508 hpar =
"TH1ClusterNoise";
509 theLayerMEs.ClusterNoiseOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
512 hpar =
"TH1ClusterNoise";
513 theLayerMEs.ClusterNoiseOffTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
517 hpar =
"TH1ClusterWidth";
518 theLayerMEs.ClusterWidthOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
521 hpar =
"TH1ClusterWidth";
522 theLayerMEs.ClusterWidthOffTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
526 if (layer_id.find(
"TEC") != std::string::npos)
527 total_nr_strips = 3 * 2 * 128;
530 hpar =
"TH1ClusterPos";
531 if (layer_id.find(
"TIB") != std::string::npos || layer_id.find(
"TOB") != std::string::npos ||
533 theLayerMEs.ClusterPosOnTrack = ibooker.
book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
538 hpar =
"TH2ClusterPosTOB";
539 if (layer_id.find(
"TOB") != std::string::npos)
540 theLayerMEs.ClusterPosOnTrack2D = ibooker.
book2D(hname, hname, 12, -110, 110, 300, -3.2, 3.2);
543 hpar =
"TH2ClusterPosTIB";
544 if (layer_id.find(
"TIB") != std::string::npos)
545 theLayerMEs.ClusterPosOnTrack2D = ibooker.
book2D(hname, hname, 12, -65, 65, 450, -3.2, 3.2);
548 hpar =
"TH2ClusterPosTEC";
549 if (layer_id.find(
"TEC") != std::string::npos) {
550 static constexpr
int nbinR = 8;
551 static constexpr
float rval[9] = {0, 21.2, 30.8, 40.4, 50.0, 60.0, 75.0, 90.0, 110.0};
552 static constexpr
int nmodulesPhi = 40 * 6;
553 float phival[nmodulesPhi];
554 for (
int i = 0;
i < nmodulesPhi;
i++)
555 phival[
i] = -3.2 + 2 *
i * 3.2 / nmodulesPhi;
557 TH2F*
temp =
new TH2F(
"tmp",
"tmp", nbinR, rval, nmodulesPhi - 1, phival);
558 theLayerMEs.ClusterPosOnTrack2D = ibooker.
book2D(hname,
temp);
562 hpar =
"TH2ClusterPosTID";
563 if (layer_id.find(
"TID") != std::string::npos) {
564 static constexpr
int nbinR = 4;
565 static constexpr
float rval[5] = {0, 21.2, 30.8, 40.4, 50.0};
566 static constexpr
int nmodulesPhi = 80 * 4;
567 float phival[nmodulesPhi];
568 for (
int i = 0;
i < nmodulesPhi;
i++)
569 phival[
i] = -3.2 +
i * 2 * 3.2 / nmodulesPhi;
571 TH2F*
temp =
new TH2F(
"tmp",
"tmp", nbinR, rval, nmodulesPhi - 1, phival);
572 theLayerMEs.ClusterPosOnTrack2D = ibooker.
book2D(hname,
temp);
576 hpar =
"TH1ClusterPos";
577 if (layer_id.find(
"TIB") != std::string::npos || layer_id.find(
"TOB") != std::string::npos ||
579 theLayerMEs.ClusterPosOffTrack = ibooker.
book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
583 hpar =
"TH1ClusterChargePerCM";
584 theLayerMEs.ClusterChargePerCMfromTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
586 hname = hidmanager.
createHistoLayer(
"Summary_ClusterChargePerCMfromOrigin",
name, layer_id,
"OnTrack");
587 hpar =
"TH1ClusterChargePerCM";
588 theLayerMEs.ClusterChargePerCMfromOriginOnTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
590 hname = hidmanager.
createHistoLayer(
"Summary_ClusterChargePerCMfromOrigin",
name, layer_id,
"OffTrack");
591 hpar =
"TH1ClusterChargePerCM";
592 theLayerMEs.ClusterChargePerCMfromOriginOffTrack =
handleBookMEs(ibooker, view, layer_id, hpar, hname);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), SiStripMonitorTrack::LayerMEs::ClusterChargeCorrOnTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeOffTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeOnTrack, SiStripMonitorTrack::LayerMEs::ClusterChargePerCMfromOriginOffTrack, SiStripMonitorTrack::LayerMEs::ClusterChargePerCMfromOriginOnTrack, SiStripMonitorTrack::LayerMEs::ClusterChargePerCMfromTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeRawOffTrack, SiStripMonitorTrack::LayerMEs::ClusterChargeRawOnTrack, SiStripMonitorTrack::LayerMEs::ClusterGain, SiStripMonitorTrack::LayerMEs::ClusterNoiseOffTrack, SiStripMonitorTrack::LayerMEs::ClusterNoiseOnTrack, SiStripMonitorTrack::LayerMEs::ClusterPosOffTrack, SiStripMonitorTrack::LayerMEs::ClusterPosOnTrack, SiStripMonitorTrack::LayerMEs::ClusterPosOnTrack2D, SiStripMonitorTrack::LayerMEs::ClusterStoNCorrOnTrack, SiStripMonitorTrack::LayerMEs::ClusterWidthOffTrack, SiStripMonitorTrack::LayerMEs::ClusterWidthOnTrack, conf_, SiStripHistoId::createHistoLayer(), edm::ParameterSet::getParameter(), handleBookMEs(), mps_fire::i, LayerMEsMap, Skims_PA_cff::name, SiStripDetCabling::nApvPairs(), siStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.
Referenced by book().
◆ bookME1D()
◆ bookME2D()
◆ bookME3D()
◆ bookMEProfile()
◆ bookMETrend()
◆ bookModMEs()
void SiStripMonitorTrack::bookModMEs |
( |
DQMStore::IBooker & |
ibooker, |
|
|
const uint32_t |
id |
|
) |
| |
|
private |
Definition at line 393 of file SiStripMonitorTrack.cc.
398 std::map<std::string, ModMEs>::iterator iModME =
ModMEsMap.find(hid);
403 theModMEs.ClusterWidth =
406 theModMEs.ClusterGain =
409 theModMEs.ClusterCharge =
412 theModMEs.ClusterChargeRaw =
bookME1D(
413 ibooker,
"TH1ClusterChargeRaw", hidmanager.
createHistoId(
"ClusterChargeRaw_OnTrack",
name,
id).c_str());
415 theModMEs.ClusterChargeCorr =
bookME1D(
416 ibooker,
"TH1ClusterChargeCorr", hidmanager.
createHistoId(
"ClusterChargeCorr_OnTrack",
name,
id).c_str());
418 theModMEs.ClusterStoNCorr =
bookME1D(
419 ibooker,
"TH1ClusterStoNCorrMod", hidmanager.
createHistoId(
"ClusterStoNCorr_OnTrack",
name,
id).c_str());
426 total_nr_strips + 0.5);
428 theModMEs.ClusterPGV =
431 theModMEs.ClusterChargePerCMfromTrack =
bookME1D(
432 ibooker,
"TH1ClusterChargePerCM", hidmanager.
createHistoId(
"ClusterChargePerCMfromTrack",
name,
id).c_str());
434 theModMEs.ClusterChargePerCMfromOrigin =
bookME1D(
435 ibooker,
"TH1ClusterChargePerCM", hidmanager.
createHistoId(
"ClusterChargePerCMfromOrigin",
name,
id).c_str());
References dqm::implementation::IBooker::book1D(), bookME1D(), bookMEProfile(), SiStripMonitorTrack::ModMEs::ClusterCharge, SiStripMonitorTrack::ModMEs::ClusterChargeCorr, SiStripMonitorTrack::ModMEs::ClusterChargePerCMfromOrigin, SiStripMonitorTrack::ModMEs::ClusterChargePerCMfromTrack, SiStripMonitorTrack::ModMEs::ClusterChargeRaw, SiStripMonitorTrack::ModMEs::ClusterGain, SiStripMonitorTrack::ModMEs::ClusterPGV, SiStripMonitorTrack::ModMEs::ClusterPos, SiStripMonitorTrack::ModMEs::ClusterStoNCorr, SiStripMonitorTrack::ModMEs::ClusterWidth, SiStripHistoId::createHistoId(), ModMEsMap, Skims_PA_cff::name, SiStripDetCabling::nApvPairs(), siStripDetCabling_, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by book().
◆ bookRing()
void SiStripMonitorTrack::bookRing |
( |
DQMStore::IBooker & |
, |
|
|
const uint32_t |
, |
|
|
std::string & |
|
|
) |
| |
|
private |
◆ bookRingMEs()
void SiStripMonitorTrack::bookRingMEs |
( |
DQMStore::IBooker & |
ibooker, |
|
|
const uint32_t |
mod_id, |
|
|
std::string & |
ring_id |
|
) |
| |
|
private |
Definition at line 598 of file SiStripMonitorTrack.cc.
608 hpar =
"TH1ClusterStoNCorr";
613 hpar =
"TH1ClusterGain";
618 hpar =
"TH1ClusterChargeCorr";
623 hpar =
"TH1ClusterCharge";
627 hpar =
"TH1ClusterCharge";
632 hpar =
"TH1ClusterChargeRaw";
636 hpar =
"TH1ClusterChargeRaw";
641 hpar =
"TH1ClusterNoise";
645 hpar =
"TH1ClusterNoise";
650 hpar =
"TH1ClusterWidth";
654 hpar =
"TH1ClusterWidth";
659 if (
ring_id.find(
"TEC") != std::string::npos)
660 total_nr_strips = 3 * 2 * 128;
663 hpar =
"TH1ClusterPos";
665 theRingMEs.ClusterPosOnTrack = ibooker.
book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
668 hpar =
"TH1ClusterPos";
670 theRingMEs.ClusterPosOffTrack = ibooker.
book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
674 hpar =
"TH1ClusterChargePerCM";
678 hpar =
"TH1ClusterChargePerCM";
679 theRingMEs.ClusterChargePerCMfromOriginOnTrack =
handleBookMEs(ibooker, view,
ring_id, hpar, hname);
682 hpar =
"TH1ClusterChargePerCM";
683 theRingMEs.ClusterChargePerCMfromOriginOffTrack =
handleBookMEs(ibooker, view,
ring_id, hpar, hname);
References dqm::implementation::IBooker::book1D(), SiStripMonitorTrack::RingMEs::ClusterChargeCorrOnTrack, SiStripMonitorTrack::RingMEs::ClusterChargeOffTrack, SiStripMonitorTrack::RingMEs::ClusterChargeOnTrack, SiStripMonitorTrack::RingMEs::ClusterChargePerCMfromOriginOffTrack, SiStripMonitorTrack::RingMEs::ClusterChargePerCMfromOriginOnTrack, SiStripMonitorTrack::RingMEs::ClusterChargePerCMfromTrack, SiStripMonitorTrack::RingMEs::ClusterChargeRawOffTrack, SiStripMonitorTrack::RingMEs::ClusterChargeRawOnTrack, SiStripMonitorTrack::RingMEs::ClusterGain, SiStripMonitorTrack::RingMEs::ClusterNoiseOffTrack, SiStripMonitorTrack::RingMEs::ClusterNoiseOnTrack, SiStripMonitorTrack::RingMEs::ClusterPosOffTrack, SiStripMonitorTrack::RingMEs::ClusterPosOnTrack, SiStripMonitorTrack::RingMEs::ClusterStoNCorrOnTrack, SiStripMonitorTrack::RingMEs::ClusterWidthOffTrack, SiStripMonitorTrack::RingMEs::ClusterWidthOnTrack, conf_, SiStripHistoId::createHistoLayer(), edm::ParameterSet::getParameter(), handleBookMEs(), Skims_PA_cff::name, SiStripDetCabling::nApvPairs(), alignCSCRings::ring_id, RingMEsMap, siStripDetCabling_, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by book().
◆ bookSubDetMEs()
void SiStripMonitorTrack::bookSubDetMEs |
( |
DQMStore::IBooker & |
ibooker, |
|
|
std::string & |
name |
|
) |
| |
|
private |
Definition at line 692 of file SiStripMonitorTrack.cc.
698 SubDetMEs theSubDetMEs;
701 completeName =
"Summary_TotalNumberOfClusters_OnTrack" +
subdet_tag;
702 axisName =
"Number of on-track clusters in " +
name;
703 theSubDetMEs.nClustersOnTrack =
bookME1D(ibooker,
"TH1nClustersOn", completeName.c_str());
705 theSubDetMEs.nClustersOnTrack->setStatOverflows(kTRUE);
708 completeName =
"Summary_TotalNumberOfClusters_OffTrack" +
subdet_tag;
709 axisName =
"Number of off-track clusters in " +
name;
710 theSubDetMEs.nClustersOffTrack =
bookME1D(ibooker,
"TH1nClustersOff", completeName.c_str());
714 if (
name.find(
"TIB") != std::string::npos) {
716 theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
718 if (
name.find(
"TOB") != std::string::npos) {
720 theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
722 if (
name.find(
"TID") != std::string::npos) {
724 theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
726 if (
name.find(
"TEC") != std::string::npos) {
728 theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
731 theSubDetMEs.nClustersOffTrack->setStatOverflows(kTRUE);
734 completeName =
"Summary_ClusterGain" +
subdet_tag;
735 theSubDetMEs.ClusterGain =
bookME1D(ibooker,
"TH1ClusterGain", completeName.c_str());
738 completeName =
"Summary_ClusterStoNCorr_OnTrack" +
subdet_tag;
739 theSubDetMEs.ClusterStoNCorrOnTrack =
bookME1D(ibooker,
"TH1ClusterStoNCorr", completeName.c_str());
741 completeName =
"Summary_ClusterStoNCorrThin_OnTrack" +
subdet_tag;
742 if (
subdet_tag.find(
"TEC") != std::string::npos)
743 theSubDetMEs.ClusterStoNCorrThinOnTrack =
bookME1D(ibooker,
"TH1ClusterStoNCorr", completeName.c_str());
745 completeName =
"Summary_ClusterStoNCorrThick_OnTrack" +
subdet_tag;
746 if (
subdet_tag.find(
"TEC") != std::string::npos)
747 theSubDetMEs.ClusterStoNCorrThickOnTrack =
bookME1D(ibooker,
"TH1ClusterStoNCorr", completeName.c_str());
750 completeName =
"Summary_ClusterChargeCorr_OnTrack" +
subdet_tag;
751 theSubDetMEs.ClusterChargeCorrOnTrack =
bookME1D(ibooker,
"TH1ClusterChargeCorr", completeName.c_str());
753 completeName =
"Summary_ClusterChargeCorrThin_OnTrack" +
subdet_tag;
754 if (
subdet_tag.find(
"TEC") != std::string::npos)
755 theSubDetMEs.ClusterChargeCorrThinOnTrack =
bookME1D(ibooker,
"TH1ClusterChargeCorr", completeName.c_str());
757 completeName =
"Summary_ClusterChargeCorrThick_OnTrack" +
subdet_tag;
758 if (
subdet_tag.find(
"TEC") != std::string::npos)
759 theSubDetMEs.ClusterChargeCorrThickOnTrack =
bookME1D(ibooker,
"TH1ClusterChargeCorr", completeName.c_str());
762 completeName =
"Summary_ClusterCharge_OnTrack" +
subdet_tag;
763 theSubDetMEs.ClusterChargeOnTrack =
bookME1D(ibooker,
"TH1ClusterCharge", completeName.c_str());
766 completeName =
"Summary_ClusterChargeRaw_OnTrack" +
subdet_tag;
767 theSubDetMEs.ClusterChargeRawOnTrack =
bookME1D(ibooker,
"TH1ClusterChargeRaw", completeName.c_str());
770 completeName =
"Summary_ClusterCharge_OffTrack" +
subdet_tag;
771 theSubDetMEs.ClusterChargeOffTrack =
bookME1D(ibooker,
"TH1ClusterCharge", completeName.c_str());
774 completeName =
"Summary_ClusterChargeRaw_OffTrack" +
subdet_tag;
775 theSubDetMEs.ClusterChargeRawOffTrack =
bookME1D(ibooker,
"TH1ClusterChargeRaw", completeName.c_str());
778 completeName =
"Summary_ClusterStoN_OffTrack" +
subdet_tag;
779 theSubDetMEs.ClusterStoNOffTrack =
bookME1D(ibooker,
"TH1ClusterStoN", completeName.c_str());
782 completeName =
"Summary_ClusterChargePerCMfromTrack" +
subdet_tag;
783 theSubDetMEs.ClusterChargePerCMfromTrack =
bookME1D(ibooker,
"TH1ClusterChargePerCM", completeName.c_str());
786 completeName =
"Summary_ClusterChargePerCMfromOrigin_OnTrack" +
subdet_tag;
787 theSubDetMEs.ClusterChargePerCMfromOriginOnTrack =
bookME1D(ibooker,
"TH1ClusterChargePerCM", completeName.c_str());
790 completeName =
"Summary_ClusterChargePerCMfromOrigin_OffTrack" +
subdet_tag;
791 theSubDetMEs.ClusterChargePerCMfromOriginOffTrack =
bookME1D(ibooker,
"TH1ClusterChargePerCM", completeName.c_str());
795 completeName =
"Trend_TotalNumberOfClusters_OnTrack" +
subdet_tag;
796 theSubDetMEs.nClustersTrendOnTrack =
bookMETrend(ibooker, completeName.c_str());
797 completeName =
"Trend_TotalNumberOfClusters_OffTrack" +
subdet_tag;
798 theSubDetMEs.nClustersTrendOffTrack =
bookMETrend(ibooker, completeName.c_str());
References bookME1D(), bookMETrend(), SiStripMonitorTrack::SubDetMEs::ClusterChargeCorrOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeCorrThickOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeCorrThinOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeOffTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargePerCMfromOriginOffTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargePerCMfromOriginOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargePerCMfromTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeRawOffTrack, SiStripMonitorTrack::SubDetMEs::ClusterChargeRawOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterGain, SiStripMonitorTrack::SubDetMEs::ClusterStoNCorrOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterStoNCorrThickOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterStoNCorrThinOnTrack, SiStripMonitorTrack::SubDetMEs::ClusterStoNOffTrack, Skims_PA_cff::name, SiStripMonitorTrack::SubDetMEs::nClustersOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersOnTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOffTrack, SiStripMonitorTrack::SubDetMEs::nClustersTrendOnTrack, dqm::impl::MonitorElement::setAxisRange(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setStatOverflows(), AlCaHLTBitMon_QueryRunRegistry::string, xuti::subdet_tag(), SubDetMEsMap, and Trend_On_.
Referenced by book().
◆ clusterInfos()
bool SiStripMonitorTrack::clusterInfos |
( |
SiStripClusterInfo * |
cluster, |
|
|
const uint32_t |
detid, |
|
|
enum ClusterFlags |
flags, |
|
|
bool |
track_ok, |
|
|
LocalVector |
LV, |
|
|
const Det2MEs & |
MEs, |
|
|
const TrackerTopology * |
tTopo, |
|
|
const SiStripGain * |
stripGain, |
|
|
const SiStripQuality * |
stripQuality, |
|
|
const edm::DetSetVector< SiStripDigi > & |
digilist, |
|
|
float |
clustZ, |
|
|
float |
clustPhi |
|
) |
| |
|
private |
Definition at line 1472 of file SiStripMonitorTrack.cc.
1484 if (cluster ==
nullptr)
1494 LogDebug(
"SiStripMonitorTrack") <<
"\n\tLV " <<
LV.x() <<
" " <<
LV.y() <<
" " <<
LV.z() <<
" " <<
LV.mag()
1497 cosRZ = fabs(
LV.z()) /
LV.mag();
1498 LogDebug(
"SiStripMonitorTrack") <<
"\n\t cosRZ " << cosRZ << std::endl;
1509 double chargeraw = 0;
1510 double clustergain = 0;
1511 auto digi_it = digilist.
find(detid);
1513 for (
size_t chidx = 0; chidx < cluster->
stripCharges().size(); ++chidx) {
1522 if (digi_it == digilist.
end()) {
1525 for (
const auto& digiobj : *digi_it) {
1526 if (digiobj.strip() == cluster->
firstStrip() + chidx) {
1527 chargeraw += digiobj.adc();
1540 LocalVector locDir(locVtx.x(), locVtx.y(), locVtx.z());
1544 uint32_t adet = cluster->
detId();
1549 uint32_t adet = cluster->
detId();
1555 if (
MEs.iSubdet !=
nullptr)
1556 MEs.iSubdet->totNClustersOnTrack++;
1558 if (
MEs.iLayer !=
nullptr) {
1560 fillME(
MEs.iLayer->ClusterStoNCorrOnTrack, StoN * cosRZ);
1562 LogDebug(
"SiStripMonitorTrack") <<
"Module " << detid <<
" in Event " <<
eventNb <<
" noise "
1564 fillME(
MEs.iLayer->ClusterGain, clustergain);
1567 fillME(
MEs.iLayer->ClusterChargeRawOnTrack, chargeraw);
1573 fillME(
MEs.iLayer->ClusterPosOnTrack2D, valX, valY);
1576 fillME(
MEs.iLayer->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1578 fillME(
MEs.iLayer->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1581 if (
MEs.iRing !=
nullptr) {
1583 fillME(
MEs.iRing->ClusterStoNCorrOnTrack, StoN * cosRZ);
1585 LogDebug(
"SiStripMonitorTrack") <<
"Module " << detid <<
" in Event " <<
eventNb <<
" noise "
1587 fillME(
MEs.iRing->ClusterGain, clustergain);
1590 fillME(
MEs.iRing->ClusterChargeRawOnTrack, chargeraw);
1595 fillME(
MEs.iRing->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1597 fillME(
MEs.iRing->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1600 if (
MEs.iSubdet !=
nullptr) {
1601 fillME(
MEs.iSubdet->ClusterGain, clustergain);
1603 fillME(
MEs.iSubdet->ClusterChargeRawOnTrack, chargeraw);
1605 fillME(
MEs.iSubdet->ClusterStoNCorrOnTrack, StoN * cosRZ);
1608 fillME(
MEs.iSubdet->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1610 fillME(
MEs.iSubdet->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1615 fillME(
MEs.iSubdet->ClusterStoNCorrThickOnTrack, StoN * cosRZ);
1619 fillME(
MEs.iSubdet->ClusterStoNCorrThinOnTrack, StoN * cosRZ);
1625 uint32_t adet = cluster->
detId();
1630 LogDebug(
"SiStripMonitorTrack") <<
"Module " << detid <<
" in Event " <<
eventNb <<
" noise " <<
noise
1634 uint32_t adet = cluster->
detId();
1645 std::map<std::string, ModMEs>::iterator iModME =
ModMEsMap.find(
name);
1648 fillME(iModME->second.ClusterStoNCorr, StoN * cosRZ);
1651 <<
"Module " <<
name <<
" in Event " <<
eventNb <<
" noise " <<
noise << std::endl;
1652 fillME(iModME->second.ClusterGain, clustergain);
1654 fillME(iModME->second.ClusterChargeRaw, chargeraw);
1656 fillME(iModME->second.ClusterChargeCorr,
charge * cosRZ);
1662 fillME(iModME->second.ClusterChargePerCMfromTrack, dQdx_fromTrack);
1664 fillME(iModME->second.ClusterChargePerCMfromOrigin, dQdx_fromOrigin);
1668 int PGVposCounter = cluster->
maxIndex();
1672 fillME(iModME->second.ClusterPGV,
i, 0.);
1674 fillME(iModME->second.ClusterPGV, PGVposCounter++, (*it) / PGVmax);
1676 for (
int i = PGVposCounter;
1679 fillME(iModME->second.ClusterPGV,
i, 0.);
1685 if (
MEs.iSubdet !=
nullptr)
1686 MEs.iSubdet->totNClustersOffTrack++;
1689 uint32_t adet = cluster->
detId();
1692 LogDebug(
"SiStripMonitorTrack") <<
"Module firing " << detid <<
" in Event " <<
eventNb << std::endl;
1696 uint32_t adet = cluster->
detId();
1703 if (
MEs.iLayer !=
nullptr) {
1704 fillME(
MEs.iLayer->ClusterGain, clustergain);
1706 fillME(
MEs.iLayer->ClusterChargeRawOffTrack, chargeraw);
1710 fillME(
MEs.iLayer->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
1713 if (
MEs.iRing !=
nullptr) {
1714 fillME(
MEs.iRing->ClusterGain, clustergain);
1716 fillME(
MEs.iRing->ClusterChargeRawOffTrack, chargeraw);
1720 fillME(
MEs.iRing->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
1723 if (
MEs.iSubdet !=
nullptr) {
1724 fillME(
MEs.iSubdet->ClusterGain, clustergain);
1726 fillME(
MEs.iSubdet->ClusterChargeRawOffTrack, chargeraw);
1728 fillME(
MEs.iSubdet->ClusterStoNOffTrack, StoN);
1729 fillME(
MEs.iSubdet->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
References applyClusterQuality_, SiStripClusterInfo::baryStrip(), SiStripClusterInfo::charge(), ALCARECOTkAlJpsiMuMu_cff::charge, siStripClusterTools::chargePerCM(), clchCMoriginTkHmap_On_, conf_, SiStripHistoId::createHistoId(), SiStripClusterInfo::detId(), edm::DetSetVector< T >::end(), eventNb, fillME(), edm::DetSetVector< T >::find(), SiStripClusterInfo::firstStrip(), RemoveAddSevLevel::flag, edm::ParameterSet::getParameter(), SiStripBadStrip::getRange(), SiStripGain::getRange(), SiStripGain::getStripGain(), mps_fire::i, TrackerGeometry::idToDetUnit(), createfilelist::int, SiStripQuality::IsStripBad(), LogDebug, SiStripClusterInfo::maxCharge(), SiStripClusterInfo::maxIndex(), EcalMEFormatter_cfi::MEs, Mod_On_, ModMEsMap, TrackerTopology::moduleGeometry(), Skims_PA_cff::name, gpuVertexFinder::noise, SiStripClusterInfo::noiseRescaledByGain(), OffTrack, OnTrack, position, SiStripClusterInfo::signalOverNoise(), sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, SiStripClusterInfo::stripCharges(), tkgeom_, tkhisto_ClChPerCMfromOrigin, tkhisto_ClChPerCMfromTrack, tkhisto_ClusterWidthOffTrack, tkhisto_ClusterWidthOnTrack, tkhisto_NoiseOffTrack, tkhisto_NoiseOnTrack, tkhisto_NumOffTrack, tkhisto_NumOnTrack, tkhisto_StoNCorrOnTrack, TkHistoMap_On_, GeomDet::toLocal(), W5, W6, W7, ApeEstimator_cff::width, SiStripClusterInfo::width(), widthLowerLimit_, and widthUpperLimit_.
Referenced by AllClusters(), and RecHitInfo().
◆ dqmBeginRun()
Reimplemented from DQMEDAnalyzer.
Definition at line 76 of file SiStripMonitorTrack.cc.
79 <<
" detectors instantiated in the geometry" << std::endl;
References TrackerGeometry::detUnits(), genTriggerEventFlag_, edm::EventSetup::getData(), GenericTriggerEventFlag::initRun(), LogDebug, GenericTriggerEventFlag::on(), writedatasetfile::run, siStripDetCabling_, siStripDetCablingToken_, tkgeom_, and trackerGeometryToken_.
◆ fillControlViewHistos()
bool SiStripMonitorTrack::fillControlViewHistos |
( |
const edm::Event & |
ev | ) |
|
|
private |
Definition at line 1342 of file SiStripMonitorTrack.cc.
1356 uint32_t thedetid = (*hit)->rawId();
1357 if (!(
DetId(thedetid).subdetId() >= 3 &&
DetId(thedetid).subdetId() <= 6)) {
1361 if (!(*hit)->isValid())
1365 if (theHit ==
nullptr) {
1369 const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>(theHit);
1370 const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>(theHit);
1373 if (hit1D && !hit2D) {
1379 else if (!hit1D && hit2D) {
1385 std::vector<const FedChannelConnection*> getFedChanConnections;
1392 for (
const auto& getFedChanConnection : getFedChanConnections) {
1393 if (getFedChanConnection ==
nullptr) {
1397 int binfeccrate = getFedChanConnection->fecCrate();
1398 int binfecslot = getFedChanConnection->fecSlot();
1399 int binfecring = getFedChanConnection->fecRing();
References SiStripRecHit1D::cluster(), SiStripRecHit2D::cluster(), ClusterCount_OnTrack_FECCratevsFECSlot, ClusterCount_OnTrack_FECSlotVsFECRing_TECM, ClusterCount_OnTrack_FECSlotVsFECRing_TECP, ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID, ClusterCount_OnTrack_FECSlotVsFECRing_TOB, ClusterStoNCorr_OnTrack_FECCratevsFECSlot, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID, ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB, ClusterStoNCorr_OnTrack_TECM, ClusterStoNCorr_OnTrack_TECP, ClusterStoNCorr_OnTrack_TIBTID, ClusterStoNCorr_OnTrack_TOB, ev, dqm::impl::MonitorElement::Fill(), SiStripDetCabling::getConnections(), return2DME(), SiStripClusterInfo::setCluster(), SiStripClusterInfo::signalOverNoise(), siStripClusterInfo_, siStripDetCabling_, SiStripDetId::TEC, TrackerTopology::tecSide(), SiStripDetId::TIB, SiStripDetId::TID, SiStripDetId::TOB, HLT_FULL_cff::track, trackerTopology_, tracks, and trackToken_.
Referenced by analyze().
◆ fillME() [1/4]
void SiStripMonitorTrack::fillME |
( |
MonitorElement * |
ME, |
|
|
float |
value1 |
|
) |
| |
|
inlineprivate |
◆ fillME() [2/4]
void SiStripMonitorTrack::fillME |
( |
MonitorElement * |
ME, |
|
|
float |
value1, |
|
|
float |
value2 |
|
) |
| |
|
inlineprivate |
◆ fillME() [3/4]
void SiStripMonitorTrack::fillME |
( |
MonitorElement * |
ME, |
|
|
float |
value1, |
|
|
float |
value2, |
|
|
float |
value3 |
|
) |
| |
|
inlineprivate |
◆ fillME() [4/4]
void SiStripMonitorTrack::fillME |
( |
MonitorElement * |
ME, |
|
|
float |
value1, |
|
|
float |
value2, |
|
|
float |
value3, |
|
|
float |
value4 |
|
) |
| |
|
inlineprivate |
◆ findMEs()
Definition at line 1312 of file SiStripMonitorTrack.cc.
1320 me.iLayer =
nullptr;
1322 me.iSubdet =
nullptr;
1324 std::map<std::string, LayerMEs>::iterator iLayer =
LayerMEsMap.find(layer_id);
1326 me.iLayer = &(iLayer->second);
1331 me.iRing = &(iRing->second);
1334 std::map<std::string, SubDetMEs>::iterator iSubdet =
SubDetMEsMap.find(sdet_tag);
1336 me.iSubdet = &(iSubdet->second);
References folderOrganizer_, SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), LayerMEsMap, hlt_dqm_clientPB-live_cfg::me, alignCSCRings::ring_id, RingMEsMap, AlCaHLTBitMon_QueryRunRegistry::string, and SubDetMEsMap.
Referenced by AllClusters(), and RecHitInfo().
◆ handleBookMEs()
◆ hitStudy()
Definition at line 980 of file SiStripMonitorTrack.cc.
990 LogTrace(
"SiStripMonitorTrack") <<
"\nMatched recHit found" << std::endl;
998 statedirection = monodet->
toLocal(gtrkdirup);
1000 if (statedirection.
mag())
1001 RecHitInfo<SiStripRecHit2D>(&
m, statedirection, digilist,
ev, track_ok);
1005 statedirection = stereodet->
toLocal(gtrkdirup);
1007 if (statedirection.
mag())
1008 RecHitInfo<SiStripRecHit2D>(&
s, statedirection, digilist,
ev, track_ok);
1009 }
else if (projhit) {
1010 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found" << std::endl;
1020 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found MONO" << std::endl;
1022 statedirection = det->
toLocal(gtrkdirup);
1023 if (statedirection.
mag())
1024 RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist,
ev, track_ok);
1026 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found STEREO" << std::endl;
1029 statedirection = det->
toLocal(gtrkdirup);
1030 if (statedirection.
mag())
1031 RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist,
ev, track_ok);
1034 statedirection = localMomentum;
1035 if (statedirection.
mag())
1036 RecHitInfo<SiStripRecHit2D>(hit2D, statedirection, digilist,
ev, track_ok);
1038 statedirection = localMomentum;
1039 if (statedirection.
mag())
1040 RecHitInfo<SiStripRecHit1D>(hit1D, statedirection, digilist,
ev, track_ok);
1042 LogDebug(
"SiStripMonitorTrack") <<
" LocalMomentum: " << statedirection
1043 <<
"\nLocal x-z plane angle: " << atan2(statedirection.
x(), statedirection.
z());
References ev, TrackingRecHit::geographicalId(), TrackerGeometry::idToDet(), LogDebug, LogTrace, visualization-live-secondInstance_cfg::m, PV3DBase< T, PVType, FrameType >::mag(), GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), ProjectedSiStripRecHit2D::originalHit(), DetId::rawId(), alignCSCRings::s, GluedGeomDet::stereoDet(), SiStripMatchedRecHit2D::stereoHit(), tkgeom_, GeomDet::toGlobal(), GeomDet::toLocal(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by trackStudyFromTrack().
◆ RecHitInfo()
Definition at line 1191 of file SiStripMonitorTrack.cc.
1196 if (!tkrecHit->isValid()) {
1197 LogTrace(
"SiStripMonitorTrack") <<
"\t\t Invalid Hit " << std::endl;
1201 const uint32_t& detid = tkrecHit->geographicalId().rawId();
1204 <<
"\n\t\tRecHit on det " << detid <<
"\n\t\tRecHit in LP " << tkrecHit->localPosition() <<
"\n\t\tRecHit in GP "
1206 <<
"\n\t\tRecHit trackLocal vector " <<
LV.
x() <<
" " <<
LV.y() <<
" " <<
LV.z() << std::endl;
1209 if (tkrecHit !=
nullptr && tkrecHit->isValid()) {
1210 const DetId detid = tkrecHit->geographicalId();
1213 float clust_Pos1 = -1000;
1214 float clust_Pos2 = -1000;
1219 clust_Pos1 = theGlobalPos.
z();
1220 clust_Pos2 = theGlobalPos.
phi();
1222 clust_Pos1 =
pow(theGlobalPos.
x() * theGlobalPos.
x() + theGlobalPos.
y() * theGlobalPos.
y(), 0.5);
1223 clust_Pos2 = theGlobalPos.
phi();
1245 edm::LogError(
"SiStripMonitorTrack") <<
"NULL hit" << std::endl;
References clusterInfos(), findMEs(), TrackerGeometry::idToDet(), LogTrace, EcalMEFormatter_cfi::MEs, OnTrack, PV3DBase< T, PVType, FrameType >::phi(), funct::pow(), SiStripClusterInfo::setCluster(), siStripClusterInfo_, SiStripClusterInfo::siStripGain(), SiStripClusterInfo::siStripQuality(), DetId::subdetId(), SiStripDetId::TIB, tkgeom_, SiStripDetId::TOB, GeomDet::toGlobal(), trackerTopology_, vPSiStripCluster, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
◆ return2DME()
Definition at line 1457 of file SiStripMonitorTrack.cc.
1458 if (
input1->getBinContent(binx, biny) == 0.) {
1460 input2->setBinContent(binx, biny, 1);
1462 double nentries =
input2->getBinContent(binx, biny);
1463 double theMeanSoN = (
input1->getBinContent(binx, biny) * nentries +
value) / (nentries + 1);
1465 input1->setBinContent(binx, biny, theMeanSoN);
1466 input2->setBinContent(binx, biny,
input2->getBinContent(binx, biny) + 1);
References input1, input2, and relativeConstraints::value.
Referenced by fillControlViewHistos().
◆ trackFilter()
bool SiStripMonitorTrack::trackFilter |
( |
const reco::Track & |
track | ) |
|
|
private |
◆ trackStudy()
void SiStripMonitorTrack::trackStudy |
( |
const edm::Event & |
ev | ) |
|
|
private |
◆ trackStudyFromTrack()
Definition at line 1087 of file SiStripMonitorTrack.cc.
1100 uint32_t thedetid = (*hit)->rawId();
1103 if (((*hit)->getType() == 1))
1105 if (((*hit)->getType() == 2))
1107 if (((*hit)->getType() == 0))
1112 if (!(*hit)->isValid())
1114 DetId detID = (*hit)->geographicalId();
1120 const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>((theHit));
1121 const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>((theHit));
1127 hitStudy(
ev, digilist, projhit, matchedhit, hit2D, hit1D, localMomentum, track_ok);
References DetId::det(), ev, hitStudy(), tkhisto_NumberInactiveHits, tkhisto_NumberValidHits, tkhisto_NumMissingHits, TkHistoMap_On_, HLT_FULL_cff::track, duplicaterechits_cfi::trackCollection, DetId::Tracker, and trackFilter().
◆ trackStudyFromTrajectory()
◆ trajectoryStudy()
Definition at line 888 of file SiStripMonitorTrack.cc.
892 auto const& trajParams =
track.extra()->trajParams();
894 auto hb =
track.recHitsBegin();
895 for (
unsigned int h = 0;
h <
track.recHitsSize();
h++) {
896 auto ttrh = *(
hb +
h);
899 uint32_t thedetid = ttrh->rawId();
902 if ((ttrh->getType() == 1))
904 if ((ttrh->getType() == 2))
906 if ((ttrh->getType() == 0))
911 if (!ttrh->isValid())
915 auto statedirection = trajParams[
h].momentum();
919 const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>(ttrh->hit());
920 const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>(ttrh->hit());
925 LogTrace(
"SiStripMonitorTrack") <<
"\nMatched recHit found" << std::endl;
932 statedirection = monodet->
toLocal(gtrkdirup);
935 if (statedirection.mag())
936 RecHitInfo<SiStripRecHit2D>(&
m, statedirection, digilist,
ev, track_ok);
939 statedirection = stereodet->
toLocal(gtrkdirup);
942 if (statedirection.mag())
943 RecHitInfo<SiStripRecHit2D>(&
s, statedirection, digilist,
ev, track_ok);
944 }
else if (projhit) {
945 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found" << std::endl;
954 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found MONO" << std::endl;
956 statedirection = det->
toLocal(gtrkdirup);
957 if (statedirection.mag())
958 RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist,
ev, track_ok);
960 LogTrace(
"SiStripMonitorTrack") <<
"\nProjected recHit found STEREO" << std::endl;
963 statedirection = det->
toLocal(gtrkdirup);
964 if (statedirection.mag())
965 RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist,
ev, track_ok);
968 if (statedirection.mag())
969 RecHitInfo<SiStripRecHit2D>(hit2D, statedirection, digilist,
ev, track_ok);
971 if (statedirection.mag())
972 RecHitInfo<SiStripRecHit1D>(hit1D, statedirection, digilist,
ev, track_ok);
974 LogDebug(
"SiStripMonitorTrack") <<
" LocalMomentum: " << statedirection
975 <<
"\nLocal x-z plane angle: " << atan2(statedirection.x(), statedirection.z());
References cms::cuda::assert(), ev, TrackingRecHit::geographicalId(), h, hcalSimParameters_cfi::hb, TrackerGeometry::idToDet(), LogDebug, LogTrace, visualization-live-secondInstance_cfg::m, GluedGeomDet::monoDet(), ProjectedSiStripRecHit2D::originalHit(), DetId::rawId(), alignCSCRings::s, GluedGeomDet::stereoDet(), tkgeom_, tkhisto_NumberInactiveHits, tkhisto_NumberValidHits, tkhisto_NumMissingHits, TkHistoMap_On_, GeomDet::toGlobal(), GeomDet::toLocal(), and HLT_FULL_cff::track.
Referenced by trackStudyFromTrajectory().
◆ applyClusterQuality_
bool SiStripMonitorTrack::applyClusterQuality_ |
|
private |
◆ clchCMoriginTkHmap_On_
bool SiStripMonitorTrack::clchCMoriginTkHmap_On_ |
|
private |
◆ Cluster_src_
◆ ClusterCount_OnTrack_FECCratevsFECSlot
MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECCratevsFECSlot = nullptr |
|
private |
◆ ClusterCount_OnTrack_FECSlotVsFECRing_TECM
MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECM = nullptr |
|
private |
◆ ClusterCount_OnTrack_FECSlotVsFECRing_TECP
MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECP = nullptr |
|
private |
◆ ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID
MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID = nullptr |
|
private |
◆ ClusterCount_OnTrack_FECSlotVsFECRing_TOB
MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TOB = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_FECCratevsFECSlot
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECCratevsFECSlot = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_TECM
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECM = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_TECP
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECP = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_TIBTID
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TIBTID = nullptr |
|
private |
◆ ClusterStoNCorr_OnTrack_TOB
MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TOB = nullptr |
|
private |
◆ clusterToken_
◆ conf_
◆ dcsStatus_
◆ digiToken_
◆ eventNb
◆ firstEvent
int SiStripMonitorTrack::firstEvent |
|
private |
◆ folderOrganizer_
◆ genTriggerEventFlag_
◆ histname
std::string SiStripMonitorTrack::histname |
|
private |
◆ HistoFlag_On_
bool SiStripMonitorTrack::HistoFlag_On_ |
|
private |
◆ iLumisection
float SiStripMonitorTrack::iLumisection |
|
private |
◆ iOrbitSec
float SiStripMonitorTrack::iOrbitSec |
|
private |
◆ LayerMEsMap
std::map<std::string, LayerMEs> SiStripMonitorTrack::LayerMEsMap |
|
private |
◆ LV
◆ Mod_On_
bool SiStripMonitorTrack::Mod_On_ |
|
private |
◆ ModMEsMap
std::map<std::string, ModMEs> SiStripMonitorTrack::ModMEsMap |
|
private |
◆ numTracks
int SiStripMonitorTrack::numTracks |
|
private |
◆ OffHisto_On_
bool SiStripMonitorTrack::OffHisto_On_ |
|
private |
◆ Parameters
◆ ring_flag
bool SiStripMonitorTrack::ring_flag |
|
private |
◆ RingMEsMap
std::map<std::string, RingMEs> SiStripMonitorTrack::RingMEsMap |
|
private |
◆ siStripClusterInfo_
◆ siStripDetCabling_
◆ siStripDetCablingToken_
◆ sToNLowerLimit_
double SiStripMonitorTrack::sToNLowerLimit_ |
|
private |
◆ sToNUpperLimit_
double SiStripMonitorTrack::sToNUpperLimit_ |
|
private |
◆ SubDetMEsMap
std::map<std::string, SubDetMEs> SiStripMonitorTrack::SubDetMEsMap |
|
private |
◆ tkDetMapToken_
◆ tkgeom_
◆ tkhisto_ClChPerCMfromOrigin
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClChPerCMfromOrigin |
|
private |
◆ tkhisto_ClChPerCMfromTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClChPerCMfromTrack |
|
private |
◆ tkhisto_ClusterWidthOffTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClusterWidthOffTrack |
|
private |
◆ tkhisto_ClusterWidthOnTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClusterWidthOnTrack |
|
private |
◆ tkhisto_NoiseOffTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NoiseOffTrack |
|
private |
◆ tkhisto_NoiseOnTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NoiseOnTrack |
|
private |
◆ tkhisto_NumberInactiveHits
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumberInactiveHits |
|
private |
◆ tkhisto_NumberValidHits
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumberValidHits |
|
private |
◆ tkhisto_NumMissingHits
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumMissingHits |
|
private |
◆ tkhisto_NumOffTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumOffTrack |
|
private |
◆ tkhisto_NumOnTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumOnTrack |
|
private |
◆ tkhisto_StoNCorrOnTrack
std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_StoNCorrOnTrack |
|
private |
◆ TkHistoMap_On_
bool SiStripMonitorTrack::TkHistoMap_On_ |
|
private |
◆ topFolderName_
std::string SiStripMonitorTrack::topFolderName_ |
|
private |
◆ trackAssociatorCollection_in_EventTree
bool SiStripMonitorTrack::trackAssociatorCollection_in_EventTree |
|
private |
◆ trackerGeometryToken_
◆ trackerTopology_
◆ trackerTopologyEventToken_
◆ trackerTopologyRunToken_
◆ TrackLabel_
std::string SiStripMonitorTrack::TrackLabel_ |
|
private |
◆ TrackProducer_
std::string SiStripMonitorTrack::TrackProducer_ |
|
private |
◆ tracksCollection_in_EventTree
bool SiStripMonitorTrack::tracksCollection_in_EventTree |
|
private |
◆ trackToken_
◆ Trend_On_
bool SiStripMonitorTrack::Trend_On_ |
|
private |
◆ vPSiStripCluster
std::unordered_set<const SiStripCluster*> SiStripMonitorTrack::vPSiStripCluster |
|
private |
◆ widthLowerLimit_
double SiStripMonitorTrack::widthLowerLimit_ |
|
private |
◆ widthUpperLimit_
double SiStripMonitorTrack::widthUpperLimit_ |
|
private |
const TrackerGeomDet * idToDet(DetId) const override
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
MonitorElement * handleBookMEs(DQMStore::IBooker &, std::string &, std::string &, std::string &, std::string &)
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
edm::EDGetTokenT< reco::TrackCollection > trackToken_
void bookLayerMEs(DQMStore::IBooker &, const uint32_t, std::string &)
std::map< std::string, RingMEs > RingMEsMap
std::unique_ptr< TkHistoMap > tkhisto_NumOffTrack
ClusterRef cluster() const
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM
void fillME(MonitorElement *ME, float value1)
bool clusterInfos(SiStripClusterInfo *cluster, const uint32_t detid, enum ClusterFlags flags, bool track_ok, LocalVector LV, const Det2MEs &MEs, const TrackerTopology *tTopo, const SiStripGain *stripGain, const SiStripQuality *stripQuality, const edm::DetSetVector< SiStripDigi > &digilist, float clustZ, float clustPhi)
const Range getRange(const uint32_t detID) const
T const * product() const
edmNew::DetSet< SiStripCluster >::const_iterator ClusIter
Det2MEs findMEs(const TrackerTopology *tTopo, const uint32_t detid)
edm::InputTag Cluster_src_
iterator end()
Return the off-the-end iterator.
bool tracksCollection_in_EventTree
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TECP
MonitorElement * ClusterStoNCorr_OnTrack_TECM
std::string TrackProducer_
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID
const SiStripDetCabling * siStripDetCabling_
constexpr Detector det() const
get the detector field from this detid
std::unique_ptr< TkHistoMap > tkhisto_NumOnTrack
auto stripCharges() const -> decltype(cluster() ->amplitudes())
void bookRingMEs(DQMStore::IBooker &, const uint32_t, std::string &)
virtual void setCurrentFolder(std::string const &fullpath)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * bookMEProfile(DQMStore::IBooker &, const char *, const char *)
SiStripModuleGeometry moduleGeometry(const DetId &id) const
bool applyClusterQuality_
bool fillControlViewHistos(const edm::Event &ev)
const GeomDetUnit * monoDet() const
uint16_t maxIndex() const
std::unique_ptr< TkHistoMap > tkhisto_ClChPerCMfromOrigin
const TrackerTopology * trackerTopology_
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
SiStripDCSStatus * dcsStatus_
MonitorElement * bookMETrend(DQMStore::IBooker &, const char *)
DetId geographicalId() const
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TECM
void book(DQMStore::IBooker &, const TrackerTopology *tTopo, const TkDetMap *tkDetMap)
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingToken_
std::unique_ptr< TkHistoMap > tkhisto_NoiseOffTrack
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
const SiStripApvGain::Range getRange(uint32_t detID) const
SiStripClusterInfo siStripClusterInfo_
uint16_t firstStrip() const
const SiStripGain * siStripGain() const
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
SiStripRecHit2D stereoHit() const
SiStripRecHit2D originalHit() const
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP
void AllClusters(const edm::Event &ev)
Global3DPoint GlobalPoint
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
std::unique_ptr< TkHistoMap > tkhisto_NumMissingHits
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
static constexpr auto TEC
bool IsStripBad(const uint32_t &detid, const short &strip) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyRunToken_
const TrackerGeometry * tkgeom_
SiStripFolderOrganizer folderOrganizer_
void setCluster(const SiStripCluster &cluster, int detId)
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
MonitorElement * ClusterCount_OnTrack_FECCratevsFECSlot
std::unique_ptr< TkHistoMap > tkhisto_NumberInactiveHits
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
bool clchCMoriginTkHmap_On_
MonitorElement * ClusterStoNCorr_OnTrack_FECCratevsFECSlot
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
void bookSubDetMEs(DQMStore::IBooker &, std::string &name)
SiStripRecHit2D monoHit() const
static int position[264][3]
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyEventToken_
bool trackFilter(const reco::Track &track)
iterator find(det_id_type id)
void setSiStripFolderName(std::string name)
GenericTriggerEventFlag * genTriggerEventFlag_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > digiToken_
std::unique_ptr< TkHistoMap > tkhisto_ClChPerCMfromTrack
static constexpr auto TOB
ClusterRef cluster() const
uint8_t maxCharge() const
Log< level::Error, false > LogError
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
std::unique_ptr< TkHistoMap > tkhisto_StoNCorrOnTrack
std::unique_ptr< TkHistoMap > tkhisto_NoiseOnTrack
void return2DME(MonitorElement *input1, MonitorElement *input2, int binx, int biny, double value)
MonitorElement * ClusterStoNCorr_OnTrack_TIBTID
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
bool getData(T &iHolder) const
MonitorElement * bookME1D(DQMStore::IBooker &, const char *, const char *)
static constexpr auto TID
const GeomDetUnit * stereoDet() const
void initEvent(const edm::EventSetup &iSetup)
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
const SiStripQuality * siStripQuality() const
MonitorElement * ClusterStoNCorr_OnTrack_TOB
constexpr uint32_t rawId() const
get the raw id
std::unordered_set< const SiStripCluster * > vPSiStripCluster
std::unique_ptr< TkHistoMap > tkhisto_ClusterWidthOffTrack
float noiseRescaledByGain() const
void hitStudy(const edm::Event &ev, const edm::DetSetVector< SiStripDigi > &digilist, const ProjectedSiStripRecHit2D *projhit, const SiStripMatchedRecHit2D *matchedhit, const SiStripRecHit2D *hit2D, const SiStripRecHit1D *hit1D, LocalVector localMomentum, const bool track_ok)
void trackStudy(const edm::Event &ev)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
std::map< std::string, ModMEs > ModMEsMap
MonitorElement * book3D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, FUNC onbooking=NOOP())
const uint16_t nApvPairs(uint32_t det_id) const
math::XYZTLorentzVectorD LV
void trajectoryStudy(const reco::Track &track, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev, bool track_ok)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
static constexpr auto TIB
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
std::unique_ptr< TkHistoMap > tkhisto_ClusterWidthOnTrack
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
T getParameter(std::string const &) const
std::string topFolderName_
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB
MonitorElement * ClusterStoNCorr_OnTrack_TECP
Detector identifier class for the strip tracker.
void bookModMEs(DQMStore::IBooker &, const uint32_t)
const std::string subdet_tag("SubDet")
void trackStudyFromTrajectory(edm::Handle< reco::TrackCollection > trackCollectionHandle, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev)
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TOB
vector< ParameterSet > Parameters
float signalOverNoise() const
std::map< std::string, LayerMEs > LayerMEsMap
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
edm::EventNumber_t eventNb
std::vector< Track > TrackCollection
collection of Tracks
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
Geom::Phi< T > phi() const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
std::unique_ptr< TkHistoMap > tkhisto_NumberValidHits
const data_type * const_iterator
unsigned int tecSide(const DetId &id) const