CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
SiStripMonitorTrack Class Reference

#include <SiStripMonitorTrack.h>

Inheritance diagram for SiStripMonitorTrack:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  Det2MEs
 
struct  LayerMEs
 
struct  ModMEs
 
struct  RingMEs
 
struct  SubDetMEs
 

Public Types

typedef TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
 
enum  RecHitType { Single = 0, Matched = 1, Projected = 2, Null = 3 }
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, const edm::EventSetup &) override
 
void dqmBeginRun (const edm::Run &run, const edm::EventSetup &) override
 
 SiStripMonitorTrack (const edm::ParameterSet &)
 
 ~SiStripMonitorTrack () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Types

enum  ClusterFlags { OffTrack, OnTrack }
 

Private Member Functions

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 &)
 
MonitorElementbookME1D (DQMStore::IBooker &, const char *, const char *)
 
MonitorElementbookME2D (DQMStore::IBooker &, const char *, const char *)
 
MonitorElementbookME3D (DQMStore::IBooker &, const char *, const char *)
 
MonitorElementbookMEProfile (DQMStore::IBooker &, const char *, const char *)
 
MonitorElementbookMETrend (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)
 
MonitorElementhandleBookMEs (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)
 

Private Attributes

bool applyClusterQuality_
 
bool clchCMoriginTkHmap_On_
 
edm::InputTag Cluster_src_
 
MonitorElementClusterCount_OnTrack_FECCratevsFECSlot = nullptr
 
MonitorElementClusterCount_OnTrack_FECSlotVsFECRing_TECM = nullptr
 
MonitorElementClusterCount_OnTrack_FECSlotVsFECRing_TECP = nullptr
 
MonitorElementClusterCount_OnTrack_FECSlotVsFECRing_TIBTID = nullptr
 
MonitorElementClusterCount_OnTrack_FECSlotVsFECRing_TOB = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_FECCratevsFECSlot = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_TECM = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_TECP = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_TIBTID = nullptr
 
MonitorElementClusterStoNCorr_OnTrack_TOB = nullptr
 
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
 
edm::ParameterSet conf_
 
SiStripDCSStatusdcsStatus_
 
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > digiToken_
 
edm::EventNumber_t eventNb
 
int firstEvent
 
SiStripFolderOrganizer folderOrganizer_
 
GenericTriggerEventFlaggenTriggerEventFlag_
 
std::string histname
 
bool HistoFlag_On_
 
float iLumisection
 
float iOrbitSec
 
std::map< std::string, LayerMEsLayerMEsMap
 
LocalVector LV
 
bool Mod_On_
 
std::map< std::string, ModMEsModMEsMap
 
int numTracks
 
bool OffHisto_On_
 
edm::ParameterSet Parameters
 
bool ring_flag
 
std::map< std::string, RingMEsRingMEsMap
 
SiStripClusterInfo siStripClusterInfo_
 
const SiStripDetCablingsiStripDetCabling_ = nullptr
 
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcdsiStripDetCablingToken_
 
double sToNLowerLimit_
 
double sToNUpperLimit_
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
edm::ESGetToken< TkDetMap, TrackerTopologyRcdtkDetMapToken_
 
const TrackerGeometrytkgeom_ = nullptr
 
std::unique_ptr< TkHistoMaptkhisto_ClChPerCMfromOrigin
 
std::unique_ptr< TkHistoMaptkhisto_ClChPerCMfromTrack
 
std::unique_ptr< TkHistoMaptkhisto_ClusterWidthOffTrack
 
std::unique_ptr< TkHistoMaptkhisto_ClusterWidthOnTrack
 
std::unique_ptr< TkHistoMaptkhisto_NoiseOffTrack
 
std::unique_ptr< TkHistoMaptkhisto_NoiseOnTrack
 
std::unique_ptr< TkHistoMaptkhisto_NumberInactiveHits
 
std::unique_ptr< TkHistoMaptkhisto_NumberValidHits
 
std::unique_ptr< TkHistoMaptkhisto_NumMissingHits
 
std::unique_ptr< TkHistoMaptkhisto_NumOffTrack
 
std::unique_ptr< TkHistoMaptkhisto_NumOnTrack
 
std::unique_ptr< TkHistoMaptkhisto_StoNCorrOnTrack
 
bool TkHistoMap_On_
 
std::string topFolderName_
 
bool trackAssociatorCollection_in_EventTree
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtrackerGeometryToken_
 
const TrackerTopologytrackerTopology_ = nullptr
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopologyEventToken_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopologyRunToken_
 
std::string TrackLabel_
 
std::string TrackProducer_
 
bool tracksCollection_in_EventTree
 
edm::EDGetTokenT< reco::TrackCollectiontrackToken_
 
bool Trend_On_
 
std::unordered_set< const SiStripCluster * > vPSiStripCluster
 
double widthLowerLimit_
 
double widthUpperLimit_
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 65 of file SiStripMonitorTrack.h.

Member Typedef Documentation

◆ ConstRecHitPointer

Definition at line 67 of file SiStripMonitorTrack.h.

Member Enumeration Documentation

◆ ClusterFlags

Enumerator
OffTrack 
OnTrack 

Definition at line 76 of file SiStripMonitorTrack.h.

76 { OffTrack, OnTrack };

◆ RecHitType

Enumerator
Single 
Matched 
Projected 
Null 

Definition at line 68 of file SiStripMonitorTrack.h.

68 { Single = 0, Matched = 1, Projected = 2, Null = 3 };

Constructor & Destructor Documentation

◆ SiStripMonitorTrack()

SiStripMonitorTrack::SiStripMonitorTrack ( const edm::ParameterSet conf)
explicit

Definition at line 24 of file SiStripMonitorTrack.cc.

25  : conf_(conf),
26  siStripClusterInfo_(consumesCollector()),
27  trackerGeometryToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
28  siStripDetCablingToken_(esConsumes<SiStripDetCabling, SiStripDetCablingRcd, edm::Transition::BeginRun>()),
29  trackerTopologyRunToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()),
30  tkDetMapToken_(esConsumes<TkDetMap, TrackerTopologyRcd, edm::Transition::BeginRun>()),
31  trackerTopologyEventToken_(esConsumes<TrackerTopology, TrackerTopologyRcd>()),
33  firstEvent(-1),
35  conf.getParameter<edm::ParameterSet>("genericTriggerEventPSet"), consumesCollector(), *this)) {
36  Cluster_src_ = conf.getParameter<edm::InputTag>("Cluster_src");
37  Mod_On_ = conf.getParameter<bool>("Mod_On");
38  Trend_On_ = conf.getParameter<bool>("Trend_On");
39  TkHistoMap_On_ = conf.getParameter<bool>("TkHistoMap_On");
40  clchCMoriginTkHmap_On_ = conf.getParameter<bool>("clchCMoriginTkHmap_On");
41 
42  TrackProducer_ = conf_.getParameter<std::string>("TrackProducer");
43  TrackLabel_ = conf_.getParameter<std::string>("TrackLabel");
44 
45  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
46 
47  digiToken_ = consumes<edm::DetSetVector<SiStripDigi>>(conf.getParameter<edm::InputTag>("ADCDigi_src"));
48  clusterToken_ = consumes<edmNew::DetSetVector<SiStripCluster>>(Cluster_src_);
49  trackToken_ = consumes<reco::TrackCollection>(edm::InputTag(TrackProducer_, TrackLabel_));
50 
51  // cluster quality conditions
52  edm::ParameterSet cluster_condition = conf_.getParameter<edm::ParameterSet>("ClusterConditions");
53  applyClusterQuality_ = cluster_condition.getParameter<bool>("On");
54  sToNLowerLimit_ = cluster_condition.getParameter<double>("minStoN");
55  sToNUpperLimit_ = cluster_condition.getParameter<double>("maxStoN");
56  widthLowerLimit_ = cluster_condition.getParameter<double>("minWidth");
57  widthUpperLimit_ = cluster_condition.getParameter<double>("maxWidth");
58 
59  // Create DCS Status
60  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
61  if (checkDCS)
62  dcsStatus_ = new SiStripDCSStatus(consumesCollector());
63  else
64  dcsStatus_ = nullptr;
65 }

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

Definition at line 68 of file SiStripMonitorTrack.cc.

68  {
69  if (dcsStatus_)
70  delete dcsStatus_;
72  delete genTriggerEventFlag_;
73 }

References dcsStatus_, and genTriggerEventFlag_.

Member Function Documentation

◆ AllClusters()

void SiStripMonitorTrack::AllClusters ( const edm::Event ev)
private

Definition at line 1250 of file SiStripMonitorTrack.cc.

1250  {
1251  const TrackerTopology* tTopo = trackerTopology_;
1252 
1254  ev.getByToken(digiToken_, digihandle);
1255 
1257  auto& digilist = digihandle.isValid() ? *(digihandle.product()) : dummy;
1258 
1260  ev.getByToken(clusterToken_, siStripClusterHandle);
1261 
1262  /*edm::ESHandle<StripClusterParameterEstimator> parameterestimator;
1263  es.get<TkStripCPERecord>().get("StripCPEfromTrackAngle", parameterestimator);
1264  const StripClusterParameterEstimator &stripcpe(*parameterestimator);*/
1265 
1266  if (siStripClusterHandle.isValid()) {
1267  //Loop on Dets
1268  for (edmNew::DetSetVector<SiStripCluster>::const_iterator DSViter = siStripClusterHandle->begin(),
1269  DSVEnd = siStripClusterHandle->end();
1270  DSViter != DSVEnd;
1271  ++DSViter) {
1272  uint32_t detid = DSViter->id();
1273  const Det2MEs MEs = findMEs(tTopo, detid);
1274 
1275  LogDebug("SiStripMonitorTrack") << "on detid " << detid << " N Cluster= " << DSViter->size();
1276 
1277  //Loop on Clusters
1278  for (edmNew::DetSet<SiStripCluster>::const_iterator ClusIter = DSViter->begin(), ClusEnd = DSViter->end();
1279  ClusIter != ClusEnd;
1280  ++ClusIter) {
1281  if (vPSiStripCluster.find(&*ClusIter) == vPSiStripCluster.end()) {
1283 
1284  /*const StripGeomDetUnit * stripdet = (const StripGeomDetUnit*) tkgeom->idToDetUnit(detid);
1285  StripClusterParameterEstimator::LocalValues parameters=stripcpe.localParameters(*ClusIter, *stripdet);
1286  LocalPoint lp = parameters.first;
1287  const Surface& surface = tracker->idToDet(detid)->surface();
1288  GlobalPoint gp = surface.toGlobal(lp);*/
1289 
1291  detid,
1292  OffTrack,
1293  /*track_ok*/ false,
1294  LV,
1295  MEs,
1296  tTopo,
1299  digilist,
1300  0,
1301  0);
1302  }
1303  }
1304  }
1305  } else {
1306  edm::LogError("SiStripMonitorTrack") << "ClusterCollection is not valid!!" << std::endl;
1307  return;
1308  }
1309 }

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()

void SiStripMonitorTrack::analyze ( const edm::Event e,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 98 of file SiStripMonitorTrack.cc.

98  {
100 
101  // Filter out events if DCS checking is requested
102  if (dcsStatus_ && !dcsStatus_->getStatus(e, iSetup))
103  return;
104 
105  // Filter out events if Trigger Filtering is requested
106  if (genTriggerEventFlag_->on() && !genTriggerEventFlag_->accept(e, iSetup))
107  return;
108 
109  //initialization of global quantities
110  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::analyse] "
111  << "Run " << e.id().run() << " Event " << e.id().event() << std::endl;
112  eventNb = e.id().event();
113  vPSiStripCluster.clear();
114 
115  iLumisection = e.orbitNumber() / 262144.0;
116 
117  // initialise # of clusters
118  for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin(); iSubDet != SubDetMEsMap.end();
119  iSubDet++) {
120  iSubDet->second.totNClustersOnTrack = 0;
121  iSubDet->second.totNClustersOffTrack = 0;
122  }
123 
125 
126  //Perform track study
127  trackStudy(e);
128 
129  //Perform Cluster Study (irrespectively to tracks)
130 
131  AllClusters(e); //analyzes the off Track Clusters
132 
133  //Summary Counts of clusters
134  std::map<std::string, MonitorElement*>::iterator iME;
135  std::map<std::string, LayerMEs>::iterator iLayerME;
136 
137  if (!(topFolderName_.find("IsolatedBunches") != std::string::npos)) {
139  }
140 
141  if (Trend_On_) {
142  // for (std::map<std::string, SubDetMEs>::iterator iSubDet = SubDetMEsMap.begin(), iterEnd=SubDetMEsMaps.end();
143  // iSubDet != iterEnd; ++iSubDet) {
144  for (auto const& iSubDet : SubDetMEsMap) {
145  SubDetMEs subdet_mes = iSubDet.second;
146  if (subdet_mes.totNClustersOnTrack > 0) {
147  fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
148  }
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);
152  }
153  } else {
154  for (auto const& iSubDet : SubDetMEsMap) {
155  SubDetMEs subdet_mes = iSubDet.second;
156  if (subdet_mes.totNClustersOnTrack > 0) {
157  fillME(subdet_mes.nClustersOnTrack, subdet_mes.totNClustersOnTrack);
158  }
159  fillME(subdet_mes.nClustersOffTrack, subdet_mes.totNClustersOffTrack);
160  }
161  }
162 }

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()

void SiStripMonitorTrack::book ( DQMStore::IBooker ibooker,
const TrackerTopology tTopo,
const TkDetMap tkDetMap 
)
private

Definition at line 165 of file SiStripMonitorTrack.cc.

165  {
166  SiStripFolderOrganizer folder_organizer;
167  folder_organizer.setSiStripFolderName(topFolderName_);
168  //******** TkHistoMaps
169  if (TkHistoMap_On_) {
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);
184  tkhisto_NoiseOnTrack = std::make_unique<TkHistoMap>(tkDetMap, topFolderName_, "TkHMap_NoiseOnTrack", 0.0, true);
185  tkhisto_NoiseOffTrack = std::make_unique<TkHistoMap>(tkDetMap, topFolderName_, "TkHMap_NoiseOffTrack", 0.0, 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);
190  }
193  std::make_unique<TkHistoMap>(tkDetMap, topFolderName_, "TkHMap_ChargePerCMfromOrigin", 0.0, true);
194  //******** TkHistoMaps
195 
196  std::vector<uint32_t> vdetId_;
198  const char* tec = "TEC";
199  const char* tid = "TID";
200  //Histos for each detector, layer and module
201  SiStripHistoId hidmanager;
202 
203  if (Mod_On_) {
204  for (std::vector<uint32_t>::const_iterator detid_iter = vdetId_.begin(), detid_end = vdetId_.end();
205  detid_iter != detid_end;
206  ++detid_iter) { //loop on all the active detid
207  uint32_t detid = *detid_iter;
208 
209  if (detid < 1) {
210  edm::LogError("SiStripMonitorTrack") << "[" << __PRETTY_FUNCTION__ << "] invalid detid " << detid << std::endl;
211  continue;
212  }
213 
214  //std::string name;
215 
216  // book Layer and RING plots
217  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo, false);
218  /*
219  std::string thickness;
220  std::pair<std::string,int32_t> det_layer_pair_test = folder_organizer.GetSubDetAndLayerThickness(detid,tTopo,thickness);
221  std::cout << "[SiStripMonitorTrack::book] det_layer_pair " << det_layer_pair.first << " " << det_layer_pair.second << " " << thickness << std::endl;
222  */
223 
224  std::string layer_id = hidmanager.getSubdetid(detid, tTopo, false);
225 
226  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_id);
227  if (iLayerME == LayerMEsMap.end()) {
228  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, false);
229  bookLayerMEs(ibooker, detid, layer_id);
230  }
231 
232  const char* subdet = det_layer_pair.first.c_str();
233  if (std::strstr(subdet, tec) != nullptr || std::strstr(subdet, tid) != nullptr) {
234  std::string ring_id = hidmanager.getSubdetid(detid, tTopo, true);
235  std::map<std::string, RingMEs>::iterator iRingME = RingMEsMap.find(ring_id);
236  if (iRingME == RingMEsMap.end()) {
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);
239  bookRingMEs(ibooker, detid, ring_id);
240  }
241  }
242 
243  // book sub-detector plots
244  std::pair<std::string, std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
245  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()) {
246  ibooker.setCurrentFolder(sdet_pair.first);
247  bookSubDetMEs(ibooker, sdet_pair.second);
248  }
249  // book module plots
250  folder_organizer.setDetectorFolder(detid, tTopo);
251  bookModMEs(ibooker, *detid_iter);
252  } //end loop on detectors detid
253  } else {
254  for (std::vector<uint32_t>::const_iterator detid_iter = vdetId_.begin(), detid_end = vdetId_.end();
255  detid_iter != detid_end;
256  ++detid_iter) { //loop on all the active detid
257  uint32_t detid = *detid_iter;
258 
259  if (detid < 1) {
260  edm::LogError("SiStripMonitorTrack") << "[" << __PRETTY_FUNCTION__ << "] invalid detid " << detid << std::endl;
261  continue;
262  }
263 
264  //std::string name;
265 
266  // book Layer and RING plots
267  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo, false);
268  /*
269  std::string thickness;
270  std::pair<std::string,int32_t> det_layer_pair_test = folder_organizer.GetSubDetAndLayerThickness(detid,tTopo,thickness);
271  std::cout << "[SiStripMonitorTrack::book] det_layer_pair " << det_layer_pair.first << " " << det_layer_pair.second << " " << thickness << std::endl;
272  */
273 
274  std::string layer_id = hidmanager.getSubdetid(detid, tTopo, false);
275 
276  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_id);
277  if (iLayerME == LayerMEsMap.end()) {
278  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second, false);
279  bookLayerMEs(ibooker, detid, layer_id);
280  }
281 
282  const char* subdet = det_layer_pair.first.c_str();
283  if (std::strstr(subdet, tec) != nullptr || std::strstr(subdet, tid) != nullptr) {
284  std::string ring_id = hidmanager.getSubdetid(detid, tTopo, true);
285  std::map<std::string, RingMEs>::iterator iRingME = RingMEsMap.find(ring_id);
286  if (iRingME == RingMEsMap.end()) {
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);
289  bookRingMEs(ibooker, detid, ring_id);
290  }
291  }
292 
293  // book sub-detector plots
294  std::pair<std::string, std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
295  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()) {
296  ibooker.setCurrentFolder(sdet_pair.first);
297  bookSubDetMEs(ibooker, sdet_pair.second);
298  }
299  } //end loop on detectors detid
300  }
301 
302  //book control view plots
303  if (!(topFolderName_.find("IsolatedBunches") != std::string::npos)) {
304  ibooker.setCurrentFolder(topFolderName_ + "/ControlView/");
305 
307  ibooker.book1D("ClusterStoNCorr_OnTrack_TIBTID", "TIB/TID [FECCrate=1] (OnTrack)", 100, 0., 100.);
309 
311  ibooker.book1D("ClusterStoNCorr_OnTrack_TOB", "TOB [FECCrate=4] (OnTrack)", 100, 0., 100.);
313 
315  ibooker.book1D("ClusterStoNCorr_OnTrack_TECM", "TECM [FECCrate=3] (OnTrack)", 100, 0., 100.);
317 
319  ibooker.book1D("ClusterStoNCorr_OnTrack_TECP", "TECP [FECCrate=2] (OnTrack)", 100, 0., 100.);
321 
323  ibooker.book2D("ClusterStoNCorr_OnTrack_FECCratevsFECSlot", " S/N (On track)", 22, 0.5, 22.5, 4, 0.5, 4.5);
325  ClusterStoNCorr_OnTrack_FECCratevsFECSlot->setAxisTitle("FEC Crate (TTC partition)", 2);
330 
331  ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID = ibooker.book2D("ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID",
332  "TIB/TID [FECCrate=1] (OnTrack)",
333  10,
334  -0.5,
335  9.5,
336  22,
337  0.5,
338  22.5);
341 
343  "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB", "TOB [FECCrate=4] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
346 
348  "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM", "TEC- [FECCrate=3] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
351 
353  "ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP", "TEC- [FECCrate=2] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
356 
357  //----------------------------------------
358  // for conting the number of clusters, for the mean S/N calculation
359  //book control view plots
360 
362  ibooker.book2D("ClusterCount_OnTrack_FECCratevsFECSlot", " S/N (On track)", 22, 0.5, 22.5, 4, 0.5, 4.5);
364  ClusterCount_OnTrack_FECCratevsFECSlot->setAxisTitle("FEC Crate (TTC partition)", 2);
369 
371  "ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID", "TIB/TID [FECCrate=1] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
374 
376  "ClusterCount_OnTrack_FECSlotVsFECRing_TOB", "TOB [FECCrate=4] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
379 
381  "ClusterCount_OnTrack_FECSlotVsFECRing_TECM", "TEC- [FECCrate=3] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
384 
386  "ClusterCount_OnTrack_FECSlotVsFECRing_TECP", "TEC- [FECCrate=2] (OnTrack)", 10, -0.5, 9.5, 22, 0.5, 22.5);
389  }
390 }

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()

void SiStripMonitorTrack::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
const edm::EventSetup iSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 88 of file SiStripMonitorTrack.cc.

90  {
91  const TrackerTopology* trackerTopology = &iSetup.getData(trackerTopologyRunToken_);
92  const TkDetMap* tkDetMap = &iSetup.getData(tkDetMapToken_);
93 
94  book(ibooker, trackerTopology, tkDetMap);
95 }

References book(), edm::EventSetup::getData(), tkDetMapToken_, and trackerTopologyRunToken_.

◆ 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.

464  {
465  std::string name = "layer";
466  std::string view = "layerView";
467  std::string hname;
468  std::string hpar;
469  SiStripHistoId hidmanager;
470 
471  LayerMEs theLayerMEs;
472 
473  // Signal/Noise (w/ cluster harge corrected)
474  hname = hidmanager.createHistoLayer("Summary_ClusterStoNCorr", name, layer_id, "OnTrack");
475  hpar = "TH1ClusterStoNCorr";
476  theLayerMEs.ClusterStoNCorrOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
477 
478  // Cluster Gain
479  hname = hidmanager.createHistoLayer("Summary_ClusterGain", name, layer_id, "");
480  hpar = "TH1ClusterGain";
481  theLayerMEs.ClusterGain = handleBookMEs(ibooker, view, layer_id, hpar, hname);
482 
483  // Cluster Charge Corrected
484  hname = hidmanager.createHistoLayer("Summary_ClusterChargeCorr", name, layer_id, "OnTrack");
485  hpar = "TH1ClusterChargeCorr";
486  theLayerMEs.ClusterChargeCorrOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
487 
488  // Cluster Charge (On and Off Track)
489  hname = hidmanager.createHistoLayer("Summary_ClusterCharge", name, layer_id, "OnTrack");
490  hpar = "TH1ClusterCharge";
491  theLayerMEs.ClusterChargeOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
492 
493  hname = hidmanager.createHistoLayer("Summary_ClusterCharge", name, layer_id, "OffTrack");
494  hpar = "TH1ClusterCharge";
495  theLayerMEs.ClusterChargeOffTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
496 
497  // Cluster Charge Raw (On and Off Track)
498  hname = hidmanager.createHistoLayer("Summary_ClusterChargeRaw", name, layer_id, "OnTrack");
499  hpar = "TH1ClusterChargeRaw";
500  theLayerMEs.ClusterChargeRawOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
501 
502  hname = hidmanager.createHistoLayer("Summary_ClusterChargeRaw", name, layer_id, "OffTrack");
503  hpar = "TH1ClusterChargeRaw";
504  theLayerMEs.ClusterChargeRawOffTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
505 
506  // Cluster Noise (On and Off Track)
507  hname = hidmanager.createHistoLayer("Summary_ClusterNoise", name, layer_id, "OnTrack");
508  hpar = "TH1ClusterNoise";
509  theLayerMEs.ClusterNoiseOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
510 
511  hname = hidmanager.createHistoLayer("Summary_ClusterNoise", name, layer_id, "OffTrack");
512  hpar = "TH1ClusterNoise";
513  theLayerMEs.ClusterNoiseOffTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
514 
515  // Cluster Width (On and Off Track)
516  hname = hidmanager.createHistoLayer("Summary_ClusterWidth", name, layer_id, "OnTrack");
517  hpar = "TH1ClusterWidth";
518  theLayerMEs.ClusterWidthOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
519 
520  hname = hidmanager.createHistoLayer("Summary_ClusterWidth", name, layer_id, "OffTrack");
521  hpar = "TH1ClusterWidth";
522  theLayerMEs.ClusterWidthOffTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
523 
524  //Cluster Position
525  short total_nr_strips = siStripDetCabling_->nApvPairs(mod_id) * 2 * 128;
526  if (layer_id.find("TEC") != std::string::npos)
527  total_nr_strips = 3 * 2 * 128;
528 
529  hname = hidmanager.createHistoLayer("Summary_ClusterPosition", name, layer_id, "OnTrack");
530  hpar = "TH1ClusterPos";
531  if (layer_id.find("TIB") != std::string::npos || layer_id.find("TOB") != std::string::npos ||
532  (conf_.getParameter<edm::ParameterSet>(hpar.c_str())).getParameter<bool>(view.c_str()))
533  theLayerMEs.ClusterPosOnTrack = ibooker.book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
534 
535  //----------------------
536  //add 2D z-phi map per layer
537  hname = hidmanager.createHistoLayer("Summary_ClusterPosition2D", name, layer_id, "OnTrack");
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);
541 
542  hname = hidmanager.createHistoLayer("Summary_ClusterPosition2D", name, layer_id, "OnTrack");
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);
546 
547  hname = hidmanager.createHistoLayer("Summary_ClusterPosition2D", name, layer_id, "OnTrack");
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; //max number of APV for a ring
553  float phival[nmodulesPhi];
554  for (int i = 0; i < nmodulesPhi; i++)
555  phival[i] = -3.2 + 2 * i * 3.2 / nmodulesPhi;
556 
557  TH2F* temp = new TH2F("tmp", "tmp", nbinR, rval, nmodulesPhi - 1, phival);
558  theLayerMEs.ClusterPosOnTrack2D = ibooker.book2D(hname, temp);
559  }
560 
561  hname = hidmanager.createHistoLayer("Summary_ClusterPosition2D", name, layer_id, "OnTrack");
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; //max number of APV for a ring
567  float phival[nmodulesPhi];
568  for (int i = 0; i < nmodulesPhi; i++)
569  phival[i] = -3.2 + i * 2 * 3.2 / nmodulesPhi;
570 
571  TH2F* temp = new TH2F("tmp", "tmp", nbinR, rval, nmodulesPhi - 1, phival);
572  theLayerMEs.ClusterPosOnTrack2D = ibooker.book2D(hname, temp);
573  }
574 
575  hname = hidmanager.createHistoLayer("Summary_ClusterPosition", name, layer_id, "OffTrack");
576  hpar = "TH1ClusterPos";
577  if (layer_id.find("TIB") != std::string::npos || layer_id.find("TOB") != std::string::npos ||
578  (conf_.getParameter<edm::ParameterSet>(hpar.c_str())).getParameter<bool>(view.c_str()))
579  theLayerMEs.ClusterPosOffTrack = ibooker.book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
580 
581  // dQ/dx
582  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromTrack", name, layer_id, "");
583  hpar = "TH1ClusterChargePerCM";
584  theLayerMEs.ClusterChargePerCMfromTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
585 
586  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromOrigin", name, layer_id, "OnTrack");
587  hpar = "TH1ClusterChargePerCM";
588  theLayerMEs.ClusterChargePerCMfromOriginOnTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
589 
590  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromOrigin", name, layer_id, "OffTrack");
591  hpar = "TH1ClusterChargePerCM";
592  theLayerMEs.ClusterChargePerCMfromOriginOffTrack = handleBookMEs(ibooker, view, layer_id, hpar, hname);
593 
594  //bookeeping
595  LayerMEsMap[layer_id] = theLayerMEs;
596 }

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()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 806 of file SiStripMonitorTrack.cc.

808  {
809  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
810  return ibooker.book1D(HistoName,
811  HistoName,
812  Parameters.getParameter<int32_t>("Nbinx"),
813  Parameters.getParameter<double>("xmin"),
814  Parameters.getParameter<double>("xmax"));
815 }

References dqm::implementation::IBooker::book1D(), conf_, and edm::ParameterSet::getParameter().

Referenced by bookModMEs(), bookSubDetMEs(), and handleBookMEs().

◆ bookME2D()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::bookME2D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 818 of file SiStripMonitorTrack.cc.

820  {
821  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
822  return ibooker.book2D(HistoName,
823  HistoName,
824  Parameters.getParameter<int32_t>("Nbinx"),
825  Parameters.getParameter<double>("xmin"),
826  Parameters.getParameter<double>("xmax"),
827  Parameters.getParameter<int32_t>("Nbiny"),
828  Parameters.getParameter<double>("ymin"),
829  Parameters.getParameter<double>("ymax"));
830 }

References dqm::implementation::IBooker::book2D(), conf_, and edm::ParameterSet::getParameter().

◆ bookME3D()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::bookME3D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 833 of file SiStripMonitorTrack.cc.

835  {
836  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
837  return ibooker.book3D(HistoName,
838  HistoName,
839  Parameters.getParameter<int32_t>("Nbinx"),
840  Parameters.getParameter<double>("xmin"),
841  Parameters.getParameter<double>("xmax"),
842  Parameters.getParameter<int32_t>("Nbiny"),
843  Parameters.getParameter<double>("ymin"),
844  Parameters.getParameter<double>("ymax"),
845  Parameters.getParameter<int32_t>("Nbinz"),
846  Parameters.getParameter<double>("zmin"),
847  Parameters.getParameter<double>("zmax"));
848 }

References dqm::implementation::IBooker::book3D(), conf_, and edm::ParameterSet::getParameter().

◆ bookMEProfile()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::bookMEProfile ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 851 of file SiStripMonitorTrack.cc.

853  {
854  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
855  return ibooker.bookProfile(HistoName,
856  HistoName,
857  Parameters.getParameter<int32_t>("Nbinx"),
858  Parameters.getParameter<double>("xmin"),
859  Parameters.getParameter<double>("xmax"),
860  Parameters.getParameter<int32_t>("Nbiny"),
861  Parameters.getParameter<double>("ymin"),
862  Parameters.getParameter<double>("ymax"),
863  "");
864 }

References dqm::implementation::IBooker::bookProfile(), conf_, and edm::ParameterSet::getParameter().

Referenced by bookModMEs().

◆ bookMETrend()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::bookMETrend ( DQMStore::IBooker ibooker,
const char *  HistoName 
)
private

Definition at line 867 of file SiStripMonitorTrack.cc.

868  {
869  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
871  HistoName,
872  ParametersTrend.getParameter<int32_t>("Nbins"),
873  ParametersTrend.getParameter<double>("xmin"),
874  ParametersTrend.getParameter<double>("xmax"),
875  0,
876  0,
877  "");
878  if (me->kind() == MonitorElement::Kind::TPROFILE)
879  me->getTH1()->SetCanExtend(TH1::kAllAxes);
880 
881  if (!me)
882  return me;
883  me->setAxisTitle("Lumisection", 1);
884  return me;
885 }

References dqm::implementation::IBooker::bookProfile(), conf_, edm::ParameterSet::getParameter(), hlt_dqm_clientPB-live_cfg::me, and MonitorElementData::TPROFILE.

Referenced by bookSubDetMEs().

◆ bookModMEs()

void SiStripMonitorTrack::bookModMEs ( DQMStore::IBooker ibooker,
const uint32_t  id 
)
private

Definition at line 393 of file SiStripMonitorTrack.cc.

394 {
395  std::string name = "det";
396  SiStripHistoId hidmanager;
397  std::string hid = hidmanager.createHistoId("", name, id);
398  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(hid);
399  if (iModME == ModMEsMap.end()) {
400  ModMEs theModMEs;
401 
402  // Cluster Width
403  theModMEs.ClusterWidth =
404  bookME1D(ibooker, "TH1ClusterWidth", hidmanager.createHistoId("ClusterWidth_OnTrack", name, id).c_str());
405  // Cluster Gain
406  theModMEs.ClusterGain =
407  bookME1D(ibooker, "TH1ClusterGain", hidmanager.createHistoId("ClusterGain", name, id).c_str());
408  // Cluster Charge
409  theModMEs.ClusterCharge =
410  bookME1D(ibooker, "TH1ClusterCharge", hidmanager.createHistoId("ClusterCharge_OnTrack", name, id).c_str());
411  // Cluster Charge Raw (no gain )
412  theModMEs.ClusterChargeRaw = bookME1D(
413  ibooker, "TH1ClusterChargeRaw", hidmanager.createHistoId("ClusterChargeRaw_OnTrack", name, id).c_str());
414  // Cluster Charge Corrected
415  theModMEs.ClusterChargeCorr = bookME1D(
416  ibooker, "TH1ClusterChargeCorr", hidmanager.createHistoId("ClusterChargeCorr_OnTrack", name, id).c_str());
417  // Cluster StoN Corrected
418  theModMEs.ClusterStoNCorr = bookME1D(
419  ibooker, "TH1ClusterStoNCorrMod", hidmanager.createHistoId("ClusterStoNCorr_OnTrack", name, id).c_str());
420  // Cluster Position
421  short total_nr_strips = siStripDetCabling_->nApvPairs(id) * 2 * 128;
422  theModMEs.ClusterPos = ibooker.book1D(hidmanager.createHistoId("ClusterPosition_OnTrack", name, id).c_str(),
423  hidmanager.createHistoId("ClusterPosition_OnTrack", name, id).c_str(),
424  total_nr_strips,
425  0.5,
426  total_nr_strips + 0.5);
427  // Cluster PGV
428  theModMEs.ClusterPGV =
429  bookMEProfile(ibooker, "TProfileClusterPGV", hidmanager.createHistoId("PGV_OnTrack", name, id).c_str());
430  // Cluster Charge per cm
431  theModMEs.ClusterChargePerCMfromTrack = bookME1D(
432  ibooker, "TH1ClusterChargePerCM", hidmanager.createHistoId("ClusterChargePerCMfromTrack", name, id).c_str());
433 
434  theModMEs.ClusterChargePerCMfromOrigin = bookME1D(
435  ibooker, "TH1ClusterChargePerCM", hidmanager.createHistoId("ClusterChargePerCMfromOrigin", name, id).c_str());
436 
437  ModMEsMap[hid] = theModMEs;
438  }
439 }

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.

598  {
599  std::string name = "ring";
600  std::string view = "ringView";
601  std::string hname;
602  std::string hpar;
603  SiStripHistoId hidmanager;
604 
605  RingMEs theRingMEs;
606 
607  hname = hidmanager.createHistoLayer("Summary_ClusterStoNCorr", name, ring_id, "OnTrack");
608  hpar = "TH1ClusterStoNCorr";
609  theRingMEs.ClusterStoNCorrOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
610 
611  // Cluster Gain
612  hname = hidmanager.createHistoLayer("Summary_ClusterGain", name, ring_id, "");
613  hpar = "TH1ClusterGain";
614  theRingMEs.ClusterGain = handleBookMEs(ibooker, view, ring_id, hpar, hname);
615 
616  // Cluster Charge Corrected
617  hname = hidmanager.createHistoLayer("Summary_ClusterChargeCorr", name, ring_id, "OnTrack");
618  hpar = "TH1ClusterChargeCorr";
619  theRingMEs.ClusterChargeCorrOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
620 
621  // Cluster Charge (On and Off Track)
622  hname = hidmanager.createHistoLayer("Summary_ClusterCharge", name, ring_id, "OnTrack");
623  hpar = "TH1ClusterCharge";
624  theRingMEs.ClusterChargeOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
625 
626  hname = hidmanager.createHistoLayer("Summary_ClusterCharge", name, ring_id, "OffTrack");
627  hpar = "TH1ClusterCharge";
628  theRingMEs.ClusterChargeOffTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
629 
630  // Cluster Charge Raw (no-gain), On and off track
631  hname = hidmanager.createHistoLayer("Summary_ClusterChargeRaw", name, ring_id, "OnTrack");
632  hpar = "TH1ClusterChargeRaw";
633  theRingMEs.ClusterChargeRawOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
634 
635  hname = hidmanager.createHistoLayer("Summary_ClusterChargeRaw", name, ring_id, "OffTrack");
636  hpar = "TH1ClusterChargeRaw";
637  theRingMEs.ClusterChargeRawOffTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
638 
639  // Cluster Noise (On and Off Track)
640  hname = hidmanager.createHistoLayer("Summary_ClusterNoise", name, ring_id, "OnTrack");
641  hpar = "TH1ClusterNoise";
642  theRingMEs.ClusterNoiseOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
643 
644  hname = hidmanager.createHistoLayer("Summary_ClusterNoise", name, ring_id, "OffTrack");
645  hpar = "TH1ClusterNoise";
646  theRingMEs.ClusterNoiseOffTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
647 
648  // Cluster Width (On and Off Track)
649  hname = hidmanager.createHistoLayer("Summary_ClusterWidth", name, ring_id, "OnTrack");
650  hpar = "TH1ClusterWidth";
651  theRingMEs.ClusterWidthOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
652 
653  hname = hidmanager.createHistoLayer("Summary_ClusterWidth", name, ring_id, "OffTrack");
654  hpar = "TH1ClusterWidth";
655  theRingMEs.ClusterWidthOffTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
656 
657  //Cluster Position
658  short total_nr_strips = siStripDetCabling_->nApvPairs(mod_id) * 2 * 128;
659  if (ring_id.find("TEC") != std::string::npos)
660  total_nr_strips = 3 * 2 * 128;
661 
662  hname = hidmanager.createHistoLayer("Summary_ClusterPosition", name, ring_id, "OnTrack");
663  hpar = "TH1ClusterPos";
664  if ((conf_.getParameter<edm::ParameterSet>(hpar.c_str())).getParameter<bool>(view.c_str()))
665  theRingMEs.ClusterPosOnTrack = ibooker.book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
666 
667  hname = hidmanager.createHistoLayer("Summary_ClusterPosition", name, ring_id, "OffTrack");
668  hpar = "TH1ClusterPos";
669  if ((conf_.getParameter<edm::ParameterSet>(hpar.c_str())).getParameter<bool>(view.c_str()))
670  theRingMEs.ClusterPosOffTrack = ibooker.book1D(hname, hname, total_nr_strips, 0.5, total_nr_strips + 0.5);
671 
672  // dQ/dx
673  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromTrack", name, ring_id, "");
674  hpar = "TH1ClusterChargePerCM";
675  theRingMEs.ClusterChargePerCMfromTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
676 
677  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromOrigin", name, ring_id, "OnTrack");
678  hpar = "TH1ClusterChargePerCM";
679  theRingMEs.ClusterChargePerCMfromOriginOnTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
680 
681  hname = hidmanager.createHistoLayer("Summary_ClusterChargePerCMfromOrigin", name, ring_id, "OffTrack");
682  hpar = "TH1ClusterChargePerCM";
683  theRingMEs.ClusterChargePerCMfromOriginOffTrack = handleBookMEs(ibooker, view, ring_id, hpar, hname);
684 
685  //bookeeping
686  RingMEsMap[ring_id] = theRingMEs;
687 }

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.

692  {
694  subdet_tag = "__" + name;
695  std::string completeName;
696  std::string axisName;
697 
698  SubDetMEs theSubDetMEs;
699 
700  // TotalNumber of Cluster OnTrack
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());
704  theSubDetMEs.nClustersOnTrack->setAxisTitle(axisName);
705  theSubDetMEs.nClustersOnTrack->setStatOverflows(kTRUE);
706 
707  // TotalNumber of Cluster OffTrack
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());
711  theSubDetMEs.nClustersOffTrack->setAxisTitle(axisName);
712 
713  double xmaximum = 0;
714  if (name.find("TIB") != std::string::npos) {
715  xmaximum = 40000.0;
716  theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
717  }
718  if (name.find("TOB") != std::string::npos) {
719  xmaximum = 40000.0;
720  theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
721  }
722  if (name.find("TID") != std::string::npos) {
723  xmaximum = 10000.0;
724  theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
725  }
726  if (name.find("TEC") != std::string::npos) {
727  xmaximum = 40000.0;
728  theSubDetMEs.nClustersOffTrack->setAxisRange(0.0, xmaximum, 1);
729  }
730 
731  theSubDetMEs.nClustersOffTrack->setStatOverflows(kTRUE);
732 
733  // Cluster Gain
734  completeName = "Summary_ClusterGain" + subdet_tag;
735  theSubDetMEs.ClusterGain = bookME1D(ibooker, "TH1ClusterGain", completeName.c_str());
736 
737  // Cluster StoN On Track
738  completeName = "Summary_ClusterStoNCorr_OnTrack" + subdet_tag;
739  theSubDetMEs.ClusterStoNCorrOnTrack = bookME1D(ibooker, "TH1ClusterStoNCorr", completeName.c_str());
740 
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());
744 
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());
748 
749  // Cluster Charge Corrected
750  completeName = "Summary_ClusterChargeCorr_OnTrack" + subdet_tag;
751  theSubDetMEs.ClusterChargeCorrOnTrack = bookME1D(ibooker, "TH1ClusterChargeCorr", completeName.c_str());
752 
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());
756 
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());
760 
761  // Cluster Charge On Track
762  completeName = "Summary_ClusterCharge_OnTrack" + subdet_tag;
763  theSubDetMEs.ClusterChargeOnTrack = bookME1D(ibooker, "TH1ClusterCharge", completeName.c_str());
764 
765  // Cluster Charge On Track, Raw (no-gain)
766  completeName = "Summary_ClusterChargeRaw_OnTrack" + subdet_tag;
767  theSubDetMEs.ClusterChargeRawOnTrack = bookME1D(ibooker, "TH1ClusterChargeRaw", completeName.c_str());
768 
769  // Cluster Charge Off Track
770  completeName = "Summary_ClusterCharge_OffTrack" + subdet_tag;
771  theSubDetMEs.ClusterChargeOffTrack = bookME1D(ibooker, "TH1ClusterCharge", completeName.c_str());
772 
773  // Cluster Charge Off Track, Raw (no-gain)
774  completeName = "Summary_ClusterChargeRaw_OffTrack" + subdet_tag;
775  theSubDetMEs.ClusterChargeRawOffTrack = bookME1D(ibooker, "TH1ClusterChargeRaw", completeName.c_str());
776 
777  // Cluster Charge StoN Off Track
778  completeName = "Summary_ClusterStoN_OffTrack" + subdet_tag;
779  theSubDetMEs.ClusterStoNOffTrack = bookME1D(ibooker, "TH1ClusterStoN", completeName.c_str());
780 
781  // cluster charge per cm on track
782  completeName = "Summary_ClusterChargePerCMfromTrack" + subdet_tag;
783  theSubDetMEs.ClusterChargePerCMfromTrack = bookME1D(ibooker, "TH1ClusterChargePerCM", completeName.c_str());
784 
785  // cluster charge per cm on track
786  completeName = "Summary_ClusterChargePerCMfromOrigin_OnTrack" + subdet_tag;
787  theSubDetMEs.ClusterChargePerCMfromOriginOnTrack = bookME1D(ibooker, "TH1ClusterChargePerCM", completeName.c_str());
788 
789  // cluster charge per cm off track
790  completeName = "Summary_ClusterChargePerCMfromOrigin_OffTrack" + subdet_tag;
791  theSubDetMEs.ClusterChargePerCMfromOriginOffTrack = bookME1D(ibooker, "TH1ClusterChargePerCM", completeName.c_str());
792 
793  if (Trend_On_) {
794  // TotalNumber of Cluster
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());
799  }
800 
801  //bookeeping
802  SubDetMEsMap[name] = theSubDetMEs;
803 }

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.

1483  {
1484  if (cluster == nullptr)
1485  return false;
1486  // if one imposes a cut on the clusters, apply it
1487  if ((applyClusterQuality_) &&
1488  (cluster->signalOverNoise() < sToNLowerLimit_ || cluster->signalOverNoise() > sToNUpperLimit_ ||
1489  cluster->width() < widthLowerLimit_ || cluster->width() > widthUpperLimit_))
1490  return false;
1491  // start of the analysis
1492 
1493  float cosRZ = -2;
1494  LogDebug("SiStripMonitorTrack") << "\n\tLV " << LV.x() << " " << LV.y() << " " << LV.z() << " " << LV.mag()
1495  << std::endl;
1496  if (LV.mag()) {
1497  cosRZ = fabs(LV.z()) / LV.mag();
1498  LogDebug("SiStripMonitorTrack") << "\n\t cosRZ " << cosRZ << std::endl;
1499  }
1500 
1501  // Filling SubDet/Layer Plots (on Track + off Track)
1502  float StoN = cluster->signalOverNoise();
1503  float noise = cluster->noiseRescaledByGain();
1504  uint16_t charge = cluster->charge();
1505  uint16_t width = cluster->width();
1506  float position = cluster->baryStrip();
1507 
1508  // Getting raw charge with strip gain.
1509  double chargeraw = 0;
1510  double clustergain = 0;
1511  auto digi_it = digilist.find(detid); //(digilist.isValid() ? digilist.find(detid) : digilist.end());
1512  // SiStripClusterInfo.stripCharges() <==> SiStripCluster.amplitudes()
1513  for (size_t chidx = 0; chidx < cluster->stripCharges().size(); ++chidx) {
1514  if (cluster->stripCharges()[chidx] <= 0) {
1515  continue;
1516  } // nonzero amplitude
1517  if (stripQuality->IsStripBad(stripQuality->getRange(detid), cluster->firstStrip() + chidx)) {
1518  continue;
1519  }
1520  clustergain += stripGain->getStripGain(cluster->firstStrip() + chidx, stripGain->getRange(detid));
1521  // Getting raw adc charge from digi collections
1522  if (digi_it == digilist.end()) {
1523  continue;
1524  } // skipping if not found
1525  for (const auto& digiobj : *digi_it) {
1526  if (digiobj.strip() == cluster->firstStrip() + chidx) {
1527  chargeraw += digiobj.adc();
1528  }
1529  }
1530  }
1531 
1532  clustergain /= double(cluster->stripCharges().size()); // calculating average gain inside cluster
1533 
1534  // new dE/dx (chargePerCM)
1535  // https://indico.cern.ch/event/342236/session/5/contribution/10/material/slides/0.pdf
1536  float dQdx_fromTrack = siStripClusterTools::chargePerCM(detid, *cluster, LV);
1537  // from straigth line origin-sensor centre
1538  const StripGeomDetUnit* DetUnit = static_cast<const StripGeomDetUnit*>(tkgeom_->idToDetUnit(DetId(detid)));
1539  LocalPoint locVtx = DetUnit->toLocal(GlobalPoint(0.0, 0.0, 0.0));
1540  LocalVector locDir(locVtx.x(), locVtx.y(), locVtx.z());
1541  float dQdx_fromOrigin = siStripClusterTools::chargePerCM(detid, *cluster, locDir);
1542 
1543  if (TkHistoMap_On_ && (flag == OnTrack)) {
1544  uint32_t adet = cluster->detId();
1545  if (track_ok)
1546  tkhisto_ClChPerCMfromTrack->fill(adet, dQdx_fromTrack);
1547  }
1548  if (clchCMoriginTkHmap_On_ && (flag == OffTrack)) {
1549  uint32_t adet = cluster->detId();
1550  if (track_ok)
1551  tkhisto_ClChPerCMfromOrigin->fill(adet, dQdx_fromOrigin);
1552  }
1553 
1554  if (flag == OnTrack) {
1555  if (MEs.iSubdet != nullptr)
1556  MEs.iSubdet->totNClustersOnTrack++;
1557  // layerMEs
1558  if (MEs.iLayer != nullptr) {
1559  if (noise > 0.0)
1560  fillME(MEs.iLayer->ClusterStoNCorrOnTrack, StoN * cosRZ);
1561  if (noise == 0.0)
1562  LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise "
1563  << cluster->noiseRescaledByGain() << std::endl;
1564  fillME(MEs.iLayer->ClusterGain, clustergain);
1565  fillME(MEs.iLayer->ClusterChargeCorrOnTrack, charge * cosRZ);
1566  fillME(MEs.iLayer->ClusterChargeOnTrack, charge);
1567  fillME(MEs.iLayer->ClusterChargeRawOnTrack, chargeraw);
1568  fillME(MEs.iLayer->ClusterNoiseOnTrack, noise);
1569  fillME(MEs.iLayer->ClusterWidthOnTrack, width);
1570  fillME(MEs.iLayer->ClusterPosOnTrack, position);
1571  //auto clustgp = cluster->globalPosition();
1572 
1573  fillME(MEs.iLayer->ClusterPosOnTrack2D, valX, valY);
1574 
1575  if (track_ok)
1576  fillME(MEs.iLayer->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1577  if (track_ok)
1578  fillME(MEs.iLayer->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1579  }
1580  // ringMEs
1581  if (MEs.iRing != nullptr) {
1582  if (noise > 0.0)
1583  fillME(MEs.iRing->ClusterStoNCorrOnTrack, StoN * cosRZ);
1584  if (noise == 0.0)
1585  LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise "
1586  << cluster->noiseRescaledByGain() << std::endl;
1587  fillME(MEs.iRing->ClusterGain, clustergain);
1588  fillME(MEs.iRing->ClusterChargeCorrOnTrack, charge * cosRZ);
1589  fillME(MEs.iRing->ClusterChargeOnTrack, charge);
1590  fillME(MEs.iRing->ClusterChargeRawOnTrack, chargeraw);
1591  fillME(MEs.iRing->ClusterNoiseOnTrack, noise);
1592  fillME(MEs.iRing->ClusterWidthOnTrack, width);
1593  fillME(MEs.iRing->ClusterPosOnTrack, position);
1594  if (track_ok)
1595  fillME(MEs.iRing->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1596  if (track_ok)
1597  fillME(MEs.iRing->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1598  }
1599  // subdetMEs
1600  if (MEs.iSubdet != nullptr) {
1601  fillME(MEs.iSubdet->ClusterGain, clustergain);
1602  fillME(MEs.iSubdet->ClusterChargeOnTrack, charge);
1603  fillME(MEs.iSubdet->ClusterChargeRawOnTrack, chargeraw);
1604  if (noise > 0.0)
1605  fillME(MEs.iSubdet->ClusterStoNCorrOnTrack, StoN * cosRZ);
1606  fillME(MEs.iSubdet->ClusterChargeCorrOnTrack, charge * cosRZ);
1607  if (track_ok)
1608  fillME(MEs.iSubdet->ClusterChargePerCMfromTrack, dQdx_fromTrack);
1609  if (track_ok)
1610  fillME(MEs.iSubdet->ClusterChargePerCMfromOriginOnTrack, dQdx_fromOrigin);
1611  if (tTopo->moduleGeometry(detid) == SiStripModuleGeometry::W5 ||
1612  tTopo->moduleGeometry(detid) == SiStripModuleGeometry::W6 ||
1613  tTopo->moduleGeometry(detid) == SiStripModuleGeometry::W7) {
1614  if (noise > 0.0)
1615  fillME(MEs.iSubdet->ClusterStoNCorrThickOnTrack, StoN * cosRZ);
1616  fillME(MEs.iSubdet->ClusterChargeCorrThickOnTrack, charge * cosRZ);
1617  } else {
1618  if (noise > 0.0)
1619  fillME(MEs.iSubdet->ClusterStoNCorrThinOnTrack, StoN * cosRZ);
1620  fillME(MEs.iSubdet->ClusterChargeCorrThinOnTrack, charge * cosRZ);
1621  }
1622  }
1623  //******** TkHistoMaps
1624  if (TkHistoMap_On_) {
1625  uint32_t adet = cluster->detId();
1626  tkhisto_NumOnTrack->add(adet, 1.);
1627  if (noise > 0.0)
1628  tkhisto_StoNCorrOnTrack->fill(adet, cluster->signalOverNoise() * cosRZ);
1629  if (noise == 0.0)
1630  LogDebug("SiStripMonitorTrack") << "Module " << detid << " in Event " << eventNb << " noise " << noise
1631  << std::endl;
1632  }
1633  if (TkHistoMap_On_ && (flag == OnTrack)) {
1634  uint32_t adet = cluster->detId();
1635  tkhisto_ClusterWidthOnTrack->fill(adet, cluster->width());
1636  if (noise > 0.0)
1637  tkhisto_NoiseOnTrack->fill(adet, cluster->noiseRescaledByGain() * cosRZ);
1638  }
1639 
1640  // Module plots filled only for onTrack Clusters
1641  if (Mod_On_) {
1642  SiStripHistoId hidmanager2;
1643  std::string name = hidmanager2.createHistoId("", "det", detid);
1644  //fillModMEs
1645  std::map<std::string, ModMEs>::iterator iModME = ModMEsMap.find(name);
1646  if (iModME != ModMEsMap.end()) {
1647  if (noise > 0.0)
1648  fillME(iModME->second.ClusterStoNCorr, StoN * cosRZ);
1649  if (noise == 0.0)
1650  LogDebug("SiStripMonitorTrack")
1651  << "Module " << name << " in Event " << eventNb << " noise " << noise << std::endl;
1652  fillME(iModME->second.ClusterGain, clustergain);
1653  fillME(iModME->second.ClusterCharge, charge);
1654  fillME(iModME->second.ClusterChargeRaw, chargeraw);
1655 
1656  fillME(iModME->second.ClusterChargeCorr, charge * cosRZ);
1657 
1658  fillME(iModME->second.ClusterWidth, width);
1659  fillME(iModME->second.ClusterPos, position);
1660 
1661  if (track_ok)
1662  fillME(iModME->second.ClusterChargePerCMfromTrack, dQdx_fromTrack);
1663  if (track_ok)
1664  fillME(iModME->second.ClusterChargePerCMfromOrigin, dQdx_fromOrigin);
1665 
1666  //fill the PGV histo
1667  float PGVmax = cluster->maxCharge();
1668  int PGVposCounter = cluster->maxIndex();
1669  for (int i = int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmin"));
1670  i < PGVposCounter;
1671  ++i)
1672  fillME(iModME->second.ClusterPGV, i, 0.);
1673  for (auto it = cluster->stripCharges().begin(); it < cluster->stripCharges().end(); ++it) {
1674  fillME(iModME->second.ClusterPGV, PGVposCounter++, (*it) / PGVmax);
1675  }
1676  for (int i = PGVposCounter;
1677  i < int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmax"));
1678  ++i)
1679  fillME(iModME->second.ClusterPGV, i, 0.);
1680  //end fill the PGV histo
1681  }
1682  }
1683  } else {
1684  if (flag == OffTrack) {
1685  if (MEs.iSubdet != nullptr)
1686  MEs.iSubdet->totNClustersOffTrack++;
1687  //******** TkHistoMaps
1688  if (TkHistoMap_On_) {
1689  uint32_t adet = cluster->detId();
1690  tkhisto_NumOffTrack->add(adet, 1.);
1691  if (charge > 250) {
1692  LogDebug("SiStripMonitorTrack") << "Module firing " << detid << " in Event " << eventNb << std::endl;
1693  }
1694  }
1695  if (TkHistoMap_On_) {
1696  uint32_t adet = cluster->detId();
1697  tkhisto_ClusterWidthOffTrack->fill(adet, cluster->width());
1698  if (noise > 0.0)
1699  tkhisto_NoiseOffTrack->fill(adet, cluster->noiseRescaledByGain());
1700  }
1701  }
1702  // layerMEs
1703  if (MEs.iLayer != nullptr) {
1704  fillME(MEs.iLayer->ClusterGain, clustergain);
1705  fillME(MEs.iLayer->ClusterChargeOffTrack, charge);
1706  fillME(MEs.iLayer->ClusterChargeRawOffTrack, chargeraw);
1707  fillME(MEs.iLayer->ClusterNoiseOffTrack, noise);
1708  fillME(MEs.iLayer->ClusterWidthOffTrack, width);
1709  fillME(MEs.iLayer->ClusterPosOffTrack, position);
1710  fillME(MEs.iLayer->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
1711  }
1712  // ringMEs
1713  if (MEs.iRing != nullptr) {
1714  fillME(MEs.iRing->ClusterGain, clustergain);
1715  fillME(MEs.iRing->ClusterChargeOffTrack, charge);
1716  fillME(MEs.iRing->ClusterChargeRawOffTrack, chargeraw);
1717  fillME(MEs.iRing->ClusterNoiseOffTrack, noise);
1718  fillME(MEs.iRing->ClusterWidthOffTrack, width);
1719  fillME(MEs.iRing->ClusterPosOffTrack, position);
1720  fillME(MEs.iRing->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
1721  }
1722  // subdetMEs
1723  if (MEs.iSubdet != nullptr) {
1724  fillME(MEs.iSubdet->ClusterGain, clustergain);
1725  fillME(MEs.iSubdet->ClusterChargeOffTrack, charge);
1726  fillME(MEs.iSubdet->ClusterChargeRawOffTrack, chargeraw);
1727  if (noise > 0.0)
1728  fillME(MEs.iSubdet->ClusterStoNOffTrack, StoN);
1729  fillME(MEs.iSubdet->ClusterChargePerCMfromOriginOffTrack, dQdx_fromOrigin);
1730  }
1731  }
1732  return true;
1733 }

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, hgcalDigitizer_cfi::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()

void SiStripMonitorTrack::dqmBeginRun ( const edm::Run run,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 76 of file SiStripMonitorTrack.cc.

76  {
78  LogDebug("SiStripMonitorTrack") << "[SiStripMonitorTrack::beginRun] There are " << tkgeom_->detUnits().size()
79  << " detectors instantiated in the geometry" << std::endl;
81 
82  // Initialize the GenericTriggerEventFlag
83  if (genTriggerEventFlag_->on())
85 }

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.

1342  {
1343  const TrackerTopology* tTopo = trackerTopology_;
1344 
1346  ev.getByToken(trackToken_, tracks); //takes the track collection
1347 
1348  //check that tracks are valid
1349  if (!tracks.isValid())
1350  return false;
1351 
1352  // loop over the tracks
1353  for (const auto& track : *tracks) {
1354  // loop over the rechits of this track
1355  for (trackingRecHit_iterator hit = track.recHitsBegin(), ehit = track.recHitsEnd(); hit != ehit; ++hit) {
1356  uint32_t thedetid = (*hit)->rawId();
1357  if (!(DetId(thedetid).subdetId() >= 3 && DetId(thedetid).subdetId() <= 6)) {
1358  continue;
1359  }
1360 
1361  if (!(*hit)->isValid())
1362  continue;
1363 
1364  const TrackingRecHit* theHit = (*hit);
1365  if (theHit == nullptr) {
1366  continue;
1367  }
1368 
1369  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>(theHit);
1370  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>(theHit);
1371 
1372  float sovn = -1.;
1373  if (hit1D && !hit2D) {
1374  const SiStripCluster* SiStripCluster_ = &*(hit1D->cluster());
1375  siStripClusterInfo_.setCluster(*SiStripCluster_, thedetid);
1377  }
1378 
1379  else if (!hit1D && hit2D) {
1380  const SiStripCluster* SiStripCluster_ = &*(hit2D->cluster());
1381  siStripClusterInfo_.setCluster(*SiStripCluster_, thedetid);
1383  }
1384 
1385  std::vector<const FedChannelConnection*> getFedChanConnections;
1386  getFedChanConnections = siStripDetCabling_->getConnections(thedetid);
1387 
1388  // SiStripFolderOrganizer folder_organizer;
1389  // std::string sistripsubdet = folder_organizer.getSubDetFolderAndTag(thedetid, tTopo).second;
1390 
1391  // loop over the fed chan connections
1392  for (const auto& getFedChanConnection : getFedChanConnections) {
1393  if (getFedChanConnection == nullptr) {
1394  continue;
1395  }
1396 
1397  int binfeccrate = getFedChanConnection->fecCrate();
1398  int binfecslot = getFedChanConnection->fecSlot();
1399  int binfecring = getFedChanConnection->fecRing();
1400  //int binccuchan = getFedChanConnections[i0]->ccuChan(); //will be used in a new PR
1401  //int binccuadd = getFedChanConnections[i0]->ccuAddr(); //will be used in a new PR
1402 
1405  binfecslot,
1406  binfeccrate,
1407  sovn);
1408 
1409  // TIB/TID
1410  // if ((sistripsubdet.find("TIB")) || (sistripsubdet.find("TID"))) {
1411  if ((DetId(thedetid).subdetId() == SiStripDetId::TIB) || ((DetId(thedetid).subdetId() == SiStripDetId::TID))) {
1415  binfecring,
1416  binfecslot,
1417  sovn);
1418  }
1419 
1420  // TOB
1421  if (DetId(thedetid).subdetId() == SiStripDetId::TOB) {
1425  binfecring,
1426  binfecslot,
1427  sovn);
1428  }
1429 
1430  // TECM
1431  if ((DetId(thedetid).subdetId() == SiStripDetId::TEC) && (tTopo->tecSide(thedetid) == 1)) {
1435  binfecring,
1436  binfecslot,
1437  sovn);
1438  }
1439 
1440  // TECP
1441  if ((DetId(thedetid).subdetId() == SiStripDetId::TEC) && (tTopo->tecSide(thedetid) == 2)) {
1445  binfecring,
1446  binfecslot,
1447  sovn);
1448  }
1449 
1450  } // end of looping over the fed chan connections
1451  } // end of looping over the rechits of the track
1452  } // end of looping over the tracks
1453 
1454  return true;
1455 }

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_, PDWG_EXOHSCP_cff::tracks, and trackToken_.

Referenced by analyze().

◆ fillME() [1/4]

void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 142 of file SiStripMonitorTrack.h.

142  {
143  if (ME != nullptr)
144  ME->Fill(value1);
145  }

References HLT_FULL_cff::value1.

Referenced by analyze(), and clusterInfos().

◆ fillME() [2/4]

void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 146 of file SiStripMonitorTrack.h.

146  {
147  if (ME != nullptr)
148  ME->Fill(value1, value2);
149  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ fillME() [3/4]

void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 150 of file SiStripMonitorTrack.h.

150  {
151  if (ME != nullptr)
152  ME->Fill(value1, value2, value3);
153  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ fillME() [4/4]

void SiStripMonitorTrack::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 154 of file SiStripMonitorTrack.h.

154  {
155  if (ME != nullptr)
156  ME->Fill(value1, value2, value3, value4);
157  }

References HLT_FULL_cff::value1, and HLT_FULL_cff::value2.

◆ findMEs()

SiStripMonitorTrack::Det2MEs SiStripMonitorTrack::findMEs ( const TrackerTopology tTopo,
const uint32_t  detid 
)
private

Definition at line 1312 of file SiStripMonitorTrack.cc.

1312  {
1313  SiStripHistoId hidmanager1;
1314 
1315  std::string layer_id = hidmanager1.getSubdetid(detid, tTopo, false);
1316  std::string ring_id = hidmanager1.getSubdetid(detid, tTopo, true);
1317  std::string sdet_tag = folderOrganizer_.getSubDetFolderAndTag(detid, tTopo).second;
1318 
1319  Det2MEs me;
1320  me.iLayer = nullptr;
1321  me.iRing = nullptr;
1322  me.iSubdet = nullptr;
1323 
1324  std::map<std::string, LayerMEs>::iterator iLayer = LayerMEsMap.find(layer_id);
1325  if (iLayer != LayerMEsMap.end()) {
1326  me.iLayer = &(iLayer->second);
1327  }
1328 
1329  std::map<std::string, RingMEs>::iterator iRing = RingMEsMap.find(ring_id);
1330  if (iRing != RingMEsMap.end()) {
1331  me.iRing = &(iRing->second);
1332  }
1333 
1334  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(sdet_tag);
1335  if (iSubdet != SubDetMEsMap.end()) {
1336  me.iSubdet = &(iSubdet->second);
1337  }
1338 
1339  return me;
1340 }

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()

SiStripMonitorTrack::MonitorElement * SiStripMonitorTrack::handleBookMEs ( DQMStore::IBooker ibooker,
std::string &  viewParameter,
std::string &  id,
std::string &  histoParameters,
std::string &  histoName 
)
private

Definition at line 441 of file SiStripMonitorTrack.cc.

445  {
446  MonitorElement* me = nullptr;
447  bool view = false;
448  view = (conf_.getParameter<edm::ParameterSet>(histoParameters.c_str())).getParameter<bool>(viewParameter.c_str());
449  if (id.find("TEC") == std::string::npos && id.find("TID") == std::string::npos) {
450  me = bookME1D(ibooker, histoParameters.c_str(), histoName.c_str());
451  } else {
452  if (view) {
453  // histoName = histoName + "__" + thickness;
454  me = bookME1D(ibooker, histoParameters.c_str(), histoName.c_str());
455  }
456  }
457  return me;
458 }

References bookME1D(), conf_, spr::find(), edm::ParameterSet::getParameter(), HltBtagPostValidation_cff::histoName, anotherprimaryvertexanalyzer_cfi::histoParameters, and hlt_dqm_clientPB-live_cfg::me.

Referenced by bookLayerMEs(), and bookRingMEs().

◆ hitStudy()

void SiStripMonitorTrack::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 
)
private

Definition at line 980 of file SiStripMonitorTrack.cc.

987  {
988  LocalVector statedirection;
989  if (matchedhit) { // type=Matched;
990  LogTrace("SiStripMonitorTrack") << "\nMatched recHit found" << std::endl;
991 
992  const GluedGeomDet* gdet = static_cast<const GluedGeomDet*>(tkgeom_->idToDet(matchedhit->geographicalId()));
993 
994  GlobalVector gtrkdirup = gdet->toGlobal(localMomentum);
995 
996  //mono side
997  const GeomDetUnit* monodet = gdet->monoDet();
998  statedirection = monodet->toLocal(gtrkdirup);
999  SiStripRecHit2D m = matchedhit->monoHit();
1000  if (statedirection.mag())
1001  RecHitInfo<SiStripRecHit2D>(&m, statedirection, digilist, ev, track_ok);
1002 
1003  //stereo side
1004  const GeomDetUnit* stereodet = gdet->stereoDet();
1005  statedirection = stereodet->toLocal(gtrkdirup);
1006  SiStripRecHit2D s = matchedhit->stereoHit();
1007  if (statedirection.mag())
1008  RecHitInfo<SiStripRecHit2D>(&s, statedirection, digilist, ev, track_ok);
1009  } else if (projhit) { // type=Projected;
1010  LogTrace("SiStripMonitorTrack") << "\nProjected recHit found" << std::endl;
1011 
1012  const GluedGeomDet* gdet = static_cast<const GluedGeomDet*>(tkgeom_->idToDet(projhit->geographicalId()));
1013 
1014  GlobalVector gtrkdirup = gdet->toGlobal(localMomentum);
1015  const SiStripRecHit2D originalhit = projhit->originalHit();
1016 
1017  const GeomDetUnit* det;
1018  if (!StripSubdetector(originalhit.geographicalId().rawId()).stereo()) {
1019  //mono side
1020  LogTrace("SiStripMonitorTrack") << "\nProjected recHit found MONO" << std::endl;
1021  det = gdet->monoDet();
1022  statedirection = det->toLocal(gtrkdirup);
1023  if (statedirection.mag())
1024  RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist, ev, track_ok);
1025  } else {
1026  LogTrace("SiStripMonitorTrack") << "\nProjected recHit found STEREO" << std::endl;
1027  //stereo side
1028  det = gdet->stereoDet();
1029  statedirection = det->toLocal(gtrkdirup);
1030  if (statedirection.mag())
1031  RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist, ev, track_ok);
1032  }
1033  } else if (hit2D) { // type=2D
1034  statedirection = localMomentum;
1035  if (statedirection.mag())
1036  RecHitInfo<SiStripRecHit2D>(hit2D, statedirection, digilist, ev, track_ok);
1037  } else if (hit1D) { // type=1D
1038  statedirection = localMomentum;
1039  if (statedirection.mag())
1040  RecHitInfo<SiStripRecHit1D>(hit1D, statedirection, digilist, ev, track_ok);
1041  } else {
1042  LogDebug("SiStripMonitorTrack") << " LocalMomentum: " << statedirection
1043  << "\nLocal x-z plane angle: " << atan2(statedirection.x(), statedirection.z());
1044  }
1045 }

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()

template<class T >
void SiStripMonitorTrack::RecHitInfo ( const T tkrecHit,
LocalVector  LV,
const edm::DetSetVector< SiStripDigi > &  digilist,
const edm::Event ev,
bool  track_ok 
)
private

Definition at line 1191 of file SiStripMonitorTrack.cc.

1195  {
1196  if (!tkrecHit->isValid()) {
1197  LogTrace("SiStripMonitorTrack") << "\t\t Invalid Hit " << std::endl;
1198  return;
1199  }
1200 
1201  const uint32_t& detid = tkrecHit->geographicalId().rawId();
1202 
1203  LogTrace("SiStripMonitorTrack")
1204  << "\n\t\tRecHit on det " << detid << "\n\t\tRecHit in LP " << tkrecHit->localPosition() << "\n\t\tRecHit in GP "
1205  << tkgeom_->idToDet(tkrecHit->geographicalId())->surface().toGlobal(tkrecHit->localPosition())
1206  << "\n\t\tRecHit trackLocal vector " << LV.x() << " " << LV.y() << " " << LV.z() << std::endl;
1207 
1208  //Get SiStripCluster from SiStripRecHit
1209  if (tkrecHit != nullptr && tkrecHit->isValid()) {
1210  const DetId detid = tkrecHit->geographicalId();
1211  int subDet = detid.subdetId();
1212  //std::cout << __LINE__ << std::endl;
1213  float clust_Pos1 = -1000;
1214  float clust_Pos2 = -1000;
1215 
1216  GlobalPoint theGlobalPos =
1217  tkgeom_->idToDet(tkrecHit->geographicalId())->surface().toGlobal(tkrecHit->localPosition());
1218  if (subDet == SiStripDetId::TIB || subDet == SiStripDetId::TOB) {
1219  clust_Pos1 = theGlobalPos.z();
1220  clust_Pos2 = theGlobalPos.phi();
1221  } else {
1222  clust_Pos1 = pow(theGlobalPos.x() * theGlobalPos.x() + theGlobalPos.y() * theGlobalPos.y(), 0.5);
1223  clust_Pos2 = theGlobalPos.phi();
1224  }
1225 
1226  const SiStripCluster* SiStripCluster_ = &*(tkrecHit->cluster());
1227  siStripClusterInfo_.setCluster(*SiStripCluster_, detid);
1228 
1229  const Det2MEs MEs = findMEs(trackerTopology_, detid);
1231  detid,
1232  OnTrack,
1233  track_ok,
1234  LV,
1235  MEs,
1239  digilist,
1240  clust_Pos1,
1241  clust_Pos2)) {
1242  vPSiStripCluster.insert(SiStripCluster_);
1243  }
1244  } else {
1245  edm::LogError("SiStripMonitorTrack") << "NULL hit" << std::endl;
1246  }
1247 }

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()

void SiStripMonitorTrack::return2DME ( MonitorElement input1,
MonitorElement input2,
int  binx,
int  biny,
double  value 
)
private

Definition at line 1457 of file SiStripMonitorTrack.cc.

1457  {
1458  if (input1->getBinContent(binx, biny) == 0.) {
1459  input1->setBinContent(binx, biny, value);
1460  input2->setBinContent(binx, biny, 1);
1461  } else {
1462  double nentries = input2->getBinContent(binx, biny);
1463  double theMeanSoN = (input1->getBinContent(binx, biny) * nentries + value) / (nentries + 1);
1464  //input1->setBinContent(binx,biny,((input1->getBinContent(binx,biny)+value)/2.));
1465  input1->setBinContent(binx, biny, theMeanSoN);
1466  input2->setBinContent(binx, biny, input2->getBinContent(binx, biny) + 1);
1467  }
1468 }

References input1, input2, and relativeConstraints::value.

Referenced by fillControlViewHistos().

◆ trackFilter()

bool SiStripMonitorTrack::trackFilter ( const reco::Track track)
private

Definition at line 1075 of file SiStripMonitorTrack.cc.

1075  {
1076  if (track.pt() < 0.8)
1077  return false;
1078  if (track.p() < 2.0)
1079  return false;
1080  if (track.hitPattern().numberOfValidTrackerHits() <= 6)
1081  return false;
1082  if (track.normalizedChi2() > 10.0)
1083  return false;
1084  return true;
1085 }

References HLT_FULL_cff::track.

Referenced by trackStudyFromTrack(), and trackStudyFromTrajectory().

◆ trackStudy()

void SiStripMonitorTrack::trackStudy ( const edm::Event ev)
private

Definition at line 1047 of file SiStripMonitorTrack.cc.

1047  {
1048  using namespace std;
1049  using namespace edm;
1050  using namespace reco;
1051 
1052  // edm::Handle<std::vector<Trajectory> > trajectories;
1053  // ev.getByToken(trajectoryToken_, trajectories);
1054 
1055  // track input
1056  edm::Handle<reco::TrackCollection> trackCollectionHandle;
1057  ev.getByToken(trackToken_, trackCollectionHandle); //takes the track collection
1058 
1059  // digis list
1061  ev.getByToken(digiToken_, digihandle);
1063  auto& digilist = digihandle.isValid() ? *(digihandle.product()) : dummy;
1064 
1065  if (trackCollectionHandle.isValid()) {
1066  trackStudyFromTrajectory(trackCollectionHandle, digilist, ev);
1067  } else {
1068  edm::LogError("SiStripMonitorTrack") << "also Track Collection is not valid !! " << TrackLabel_ << std::endl;
1069  return;
1070  }
1071 }

References digiToken_, ev, edm::HandleBase::isValid(), edm::Handle< T >::product(), TrackLabel_, trackStudyFromTrajectory(), and trackToken_.

Referenced by analyze().

◆ trackStudyFromTrack()

void SiStripMonitorTrack::trackStudyFromTrack ( edm::Handle< reco::TrackCollection trackCollectionHandle,
const edm::DetSetVector< SiStripDigi > &  digilist,
const edm::Event ev 
)
private

Definition at line 1087 of file SiStripMonitorTrack.cc.

1089  {
1090  //numTracks = trackCollectionHandle->size();
1091  reco::TrackCollection trackCollection = *trackCollectionHandle;
1092  for (reco::TrackCollection::const_iterator track = trackCollection.begin(), etrack = trackCollection.end();
1093  track != etrack;
1094  ++track) {
1095  bool track_ok = trackFilter(*track);
1096  // const reco::TransientTrack transientTrack = transientTrackBuilder->build(track);
1097 
1098  for (trackingRecHit_iterator hit = track->recHitsBegin(), ehit = track->recHitsEnd(); hit != ehit; ++hit) {
1099  if (TkHistoMap_On_) {
1100  uint32_t thedetid = (*hit)->rawId();
1101  if (SiStripDetId(thedetid).subDetector() >= 3 &&
1102  SiStripDetId(thedetid).subDetector() <= 6) { //TIB/TID + TOB + TEC only
1103  if (((*hit)->getType() == 1))
1104  tkhisto_NumMissingHits->add(thedetid, 1.);
1105  if (((*hit)->getType() == 2))
1106  tkhisto_NumberInactiveHits->add(thedetid, 1.);
1107  if (((*hit)->getType() == 0))
1108  tkhisto_NumberValidHits->add(thedetid, 1.);
1109  }
1110  }
1111 
1112  if (!(*hit)->isValid())
1113  continue;
1114  DetId detID = (*hit)->geographicalId();
1115  if (detID.det() != DetId::Tracker)
1116  continue;
1117  const TrackingRecHit* theHit = (*hit);
1118  const ProjectedSiStripRecHit2D* projhit = dynamic_cast<const ProjectedSiStripRecHit2D*>((theHit));
1119  const SiStripMatchedRecHit2D* matchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>((theHit));
1120  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>((theHit));
1121  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>((theHit));
1122 
1123  // GlobalPoint globalPoint = hit->globalPosition();
1124  // reco::TrajectoryStateOnSurface stateOnSurface = transientTrack->stateOnSurface(globalPoint);
1125 
1126  LocalVector localMomentum;
1127  hitStudy(ev, digilist, projhit, matchedhit, hit2D, hit1D, localMomentum, track_ok);
1128  }
1129 
1130  // hit pattern of the track
1131  // const reco::HitPattern & hitsPattern = track->hitPattern();
1132  // loop over the hits of the track
1133  // for (int i=0; i<hitsPattern.numberOfAllHits(); i++) {
1134  // for (int i=0; i<hitsPattern.numberOfAllHits(reco::HitPattern::TRACK_HITS); i++) {
1135  // uint32_t hit = hitsPattern.getHitPattern(reco::HitPattern::TRACK_HITS,i);
1136 
1137  // if the hit is valid and in pixel barrel, print out the layer
1138  // if (hitsPattern.validHitFilter(hit) && hitsPattern.pixelBarrelHitFilter(hit))
1139 
1140  // if (!hitsPattern.validHitFilter(hit)) continue;
1141  // if (hitsPattern.pixelHitFilter(hit)) std::cout << "pixel" << std::endl; // pixel
1142  // if (hitsPattern.pixelBarrelHitFilter(hit)) std::cout << "pixel barrel" << std::endl; // pixel barrel
1143  // if (hitsPattern.pixelEndcapHitFilter(hit)) std::cout << "pixel endcap" << std::endl; // pixel endcap
1144  // if (hitsPattern.stripHitFilter(hit)) std::cout << "strip" << std::endl; // strip
1145  // if (hitsPattern.stripTIBHitFilter(hit)) std::cout << "TIB" << std::endl; // strip TIB
1146  // if (hitsPattern.stripTIDHitFilter(hit)) std::cout << "TID" << std::endl; // strip TID
1147  // if (hitsPattern.stripTOBHitFilter(hit)) std::cout << "TOB" << std::endl; // strip TOB
1148  // if (hitsPattern.stripTECHitFilter(hit)) std::cout << "TEC" << std::endl; // strip TEC
1149  // if (hitsPattern.muonDTHitFilter(hit)) std::cout << "DT" << std::endl; // muon DT
1150  // if (hitsPattern.muonCSCHitFilter(hit)) std::cout << "CSC" << std::endl; // muon CSC
1151  // if (hitsPattern.muonRPCHitFilter(hit)) std::cout << "RPC" << std::endl; // muon RPC
1152  //
1153  // // expert level: printout the hit in 10-bit binary format
1154  // std::cout << "hit in 10-bit binary format = ";
1155  // for (int j=9; j>=0; j--) {
1156  // int bit = (hit >> j) & 0x1;
1157  // std::cout << bit;
1158  // }
1159  // std::cout << std::endl;
1160  // }
1161  }
1162 }

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()

void SiStripMonitorTrack::trackStudyFromTrajectory ( edm::Handle< reco::TrackCollection trackCollectionHandle,
const edm::DetSetVector< SiStripDigi > &  digilist,
const edm::Event ev 
)
private

Definition at line 1164 of file SiStripMonitorTrack.cc.

1166  {
1167  //Perform track study
1168  int i = 0;
1169  reco::TrackCollection trackCollection = *trackCollectionHandle;
1170  numTracks = trackCollection.size();
1171  for (reco::TrackCollection::const_iterator track = trackCollection.begin(), etrack = trackCollection.end();
1172  track != etrack;
1173  ++track) {
1174  LogDebug("SiStripMonitorTrack") << "Track number " << ++i << std::endl;
1175  // << "\n\tmomentum: " << trackref->momentum()
1176  // << "\n\tPT: " << trackref->pt()
1177  // << "\n\tvertex: " << trackref->vertex()
1178  // << "\n\timpact parameter: " << trackref->d0()
1179  // << "\n\tcharge: " << trackref->charge()
1180  // << "\n\tnormalizedChi2: " << trackref->normalizedChi2()
1181  // <<"\n\tFrom EXTRA : "
1182  // <<"\n\t\touter PT "<< trackref->outerPt()<<std::endl;
1183 
1184  // trajectoryStudy(traj_iterator,trackref);
1185  bool track_ok = trackFilter(*track);
1186  trajectoryStudy(*track, digilist, ev, track_ok);
1187  }
1188 }

References ev, mps_fire::i, LogDebug, numTracks, HLT_FULL_cff::track, duplicaterechits_cfi::trackCollection, trackFilter(), and trajectoryStudy().

Referenced by trackStudy().

◆ trajectoryStudy()

void SiStripMonitorTrack::trajectoryStudy ( const reco::Track track,
const edm::DetSetVector< SiStripDigi > &  digilist,
const edm::Event ev,
bool  track_ok 
)
private

Definition at line 888 of file SiStripMonitorTrack.cc.

891  {
892  auto const& trajParams = track.extra()->trajParams();
893  assert(trajParams.size() == track.recHitsSize());
894  auto hb = track.recHitsBegin();
895  for (unsigned int h = 0; h < track.recHitsSize(); h++) {
896  auto ttrh = *(hb + h);
897 
898  if (TkHistoMap_On_) {
899  uint32_t thedetid = ttrh->rawId();
900  if (SiStripDetId(thedetid).subDetector() >= 3 &&
901  SiStripDetId(thedetid).subDetector() <= 6) { //TIB/TID + TOB + TEC only
902  if ((ttrh->getType() == 1))
903  tkhisto_NumMissingHits->fill(thedetid, 1.);
904  if ((ttrh->getType() == 2))
905  tkhisto_NumberInactiveHits->fill(thedetid, 1.);
906  if ((ttrh->getType() == 0))
907  tkhisto_NumberValidHits->fill(thedetid, 1.);
908  }
909  }
910 
911  if (!ttrh->isValid())
912  continue;
913 
914  //trajectory local direction and position on detector
915  auto statedirection = trajParams[h].momentum();
916 
917  const ProjectedSiStripRecHit2D* projhit = dynamic_cast<const ProjectedSiStripRecHit2D*>(ttrh->hit());
918  const SiStripMatchedRecHit2D* matchedhit = dynamic_cast<const SiStripMatchedRecHit2D*>(ttrh->hit());
919  const SiStripRecHit2D* hit2D = dynamic_cast<const SiStripRecHit2D*>(ttrh->hit());
920  const SiStripRecHit1D* hit1D = dynamic_cast<const SiStripRecHit1D*>(ttrh->hit());
921 
922  // RecHitType type=Single;
923 
924  if (matchedhit) {
925  LogTrace("SiStripMonitorTrack") << "\nMatched recHit found" << std::endl;
926  // type=Matched;
927 
928  const GluedGeomDet* gdet = static_cast<const GluedGeomDet*>(tkgeom_->idToDet(matchedhit->geographicalId()));
929  GlobalVector gtrkdirup = gdet->toGlobal(statedirection);
930  //mono side
931  const GeomDetUnit* monodet = gdet->monoDet();
932  statedirection = monodet->toLocal(gtrkdirup);
933  SiStripRecHit2D m = matchedhit->monoHit();
934  // if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&m,statedirection,trackref);
935  if (statedirection.mag())
936  RecHitInfo<SiStripRecHit2D>(&m, statedirection, digilist, ev, track_ok);
937  //stereo side
938  const GeomDetUnit* stereodet = gdet->stereoDet();
939  statedirection = stereodet->toLocal(gtrkdirup);
940  SiStripRecHit2D s = matchedhit->stereoHit();
941  // if(statedirection.mag() != 0) RecHitInfo<SiStripRecHit2D>(&s,statedirection,trackref);
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;
946  // type=Projected;
947  const GluedGeomDet* gdet = static_cast<const GluedGeomDet*>(tkgeom_->idToDet(projhit->geographicalId()));
948 
949  GlobalVector gtrkdirup = gdet->toGlobal(statedirection);
950  const SiStripRecHit2D originalhit = projhit->originalHit();
951  const GeomDetUnit* det;
952  if (!StripSubdetector(originalhit.geographicalId().rawId()).stereo()) {
953  //mono side
954  LogTrace("SiStripMonitorTrack") << "\nProjected recHit found MONO" << std::endl;
955  det = gdet->monoDet();
956  statedirection = det->toLocal(gtrkdirup);
957  if (statedirection.mag())
958  RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist, ev, track_ok);
959  } else {
960  LogTrace("SiStripMonitorTrack") << "\nProjected recHit found STEREO" << std::endl;
961  //stereo side
962  det = gdet->stereoDet();
963  statedirection = det->toLocal(gtrkdirup);
964  if (statedirection.mag())
965  RecHitInfo<SiStripRecHit2D>(&(originalhit), statedirection, digilist, ev, track_ok);
966  }
967  } else if (hit2D) {
968  if (statedirection.mag())
969  RecHitInfo<SiStripRecHit2D>(hit2D, statedirection, digilist, ev, track_ok);
970  } else if (hit1D) {
971  if (statedirection.mag())
972  RecHitInfo<SiStripRecHit1D>(hit1D, statedirection, digilist, ev, track_ok);
973  } else {
974  LogDebug("SiStripMonitorTrack") << " LocalMomentum: " << statedirection
975  << "\nLocal x-z plane angle: " << atan2(statedirection.x(), statedirection.z());
976  }
977  }
978 }

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().

Member Data Documentation

◆ applyClusterQuality_

bool SiStripMonitorTrack::applyClusterQuality_
private

Definition at line 300 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

◆ clchCMoriginTkHmap_On_

bool SiStripMonitorTrack::clchCMoriginTkHmap_On_
private

Definition at line 289 of file SiStripMonitorTrack.h.

Referenced by book(), clusterInfos(), and SiStripMonitorTrack().

◆ Cluster_src_

edm::InputTag SiStripMonitorTrack::Cluster_src_
private

Definition at line 267 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack().

◆ ClusterCount_OnTrack_FECCratevsFECSlot

MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECCratevsFECSlot = nullptr
private

Definition at line 321 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterCount_OnTrack_FECSlotVsFECRing_TECM

MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECM = nullptr
private

Definition at line 324 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterCount_OnTrack_FECSlotVsFECRing_TECP

MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECP = nullptr
private

Definition at line 325 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID

MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID = nullptr
private

Definition at line 322 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterCount_OnTrack_FECSlotVsFECRing_TOB

MonitorElement* SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TOB = nullptr
private

Definition at line 323 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_FECCratevsFECSlot

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECCratevsFECSlot = nullptr
private

Definition at line 315 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM = nullptr
private

Definition at line 318 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP = nullptr
private

Definition at line 319 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID = nullptr
private

Definition at line 316 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB = nullptr
private

Definition at line 317 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_TECM

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECM = nullptr
private

Definition at line 313 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_TECP

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECP = nullptr
private

Definition at line 314 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_TIBTID

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TIBTID = nullptr
private

Definition at line 311 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ ClusterStoNCorr_OnTrack_TOB

MonitorElement* SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TOB = nullptr
private

Definition at line 312 of file SiStripMonitorTrack.h.

Referenced by book(), and fillControlViewHistos().

◆ clusterToken_

edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > SiStripMonitorTrack::clusterToken_
private

Definition at line 270 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), and SiStripMonitorTrack().

◆ conf_

edm::ParameterSet SiStripMonitorTrack::conf_
private

◆ dcsStatus_

SiStripDCSStatus* SiStripMonitorTrack::dcsStatus_
private

Definition at line 306 of file SiStripMonitorTrack.h.

Referenced by analyze(), SiStripMonitorTrack(), and ~SiStripMonitorTrack().

◆ digiToken_

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripMonitorTrack::digiToken_
private

Definition at line 269 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), SiStripMonitorTrack(), and trackStudy().

◆ eventNb

edm::EventNumber_t SiStripMonitorTrack::eventNb
private

Definition at line 297 of file SiStripMonitorTrack.h.

Referenced by analyze(), and clusterInfos().

◆ firstEvent

int SiStripMonitorTrack::firstEvent
private

Definition at line 298 of file SiStripMonitorTrack.h.

Referenced by looper.Looper::loop(), and Printer.Printer::process().

◆ folderOrganizer_

SiStripFolderOrganizer SiStripMonitorTrack::folderOrganizer_
private

Definition at line 308 of file SiStripMonitorTrack.h.

Referenced by findMEs().

◆ genTriggerEventFlag_

GenericTriggerEventFlag* SiStripMonitorTrack::genTriggerEventFlag_
private

Definition at line 307 of file SiStripMonitorTrack.h.

Referenced by analyze(), dqmBeginRun(), and ~SiStripMonitorTrack().

◆ histname

std::string SiStripMonitorTrack::histname
private

Definition at line 164 of file SiStripMonitorTrack.h.

◆ HistoFlag_On_

bool SiStripMonitorTrack::HistoFlag_On_
private

Definition at line 286 of file SiStripMonitorTrack.h.

◆ iLumisection

float SiStripMonitorTrack::iLumisection
private

Definition at line 166 of file SiStripMonitorTrack.h.

Referenced by analyze().

◆ iOrbitSec

float SiStripMonitorTrack::iOrbitSec
private

Definition at line 166 of file SiStripMonitorTrack.h.

◆ LayerMEsMap

std::map<std::string, LayerMEs> SiStripMonitorTrack::LayerMEsMap
private

Definition at line 256 of file SiStripMonitorTrack.h.

Referenced by book(), bookLayerMEs(), and findMEs().

◆ LV

LocalVector SiStripMonitorTrack::LV
private

Definition at line 165 of file SiStripMonitorTrack.h.

◆ Mod_On_

bool SiStripMonitorTrack::Mod_On_
private

Definition at line 283 of file SiStripMonitorTrack.h.

Referenced by book(), clusterInfos(), and SiStripMonitorTrack().

◆ ModMEsMap

std::map<std::string, ModMEs> SiStripMonitorTrack::ModMEsMap
private

Definition at line 255 of file SiStripMonitorTrack.h.

Referenced by bookModMEs(), and clusterInfos().

◆ numTracks

int SiStripMonitorTrack::numTracks
private

Definition at line 179 of file SiStripMonitorTrack.h.

Referenced by trackStudyFromTrajectory().

◆ OffHisto_On_

bool SiStripMonitorTrack::OffHisto_On_
private

Definition at line 285 of file SiStripMonitorTrack.h.

◆ Parameters

edm::ParameterSet SiStripMonitorTrack::Parameters
private

Definition at line 266 of file SiStripMonitorTrack.h.

◆ ring_flag

bool SiStripMonitorTrack::ring_flag
private

Definition at line 287 of file SiStripMonitorTrack.h.

◆ RingMEsMap

std::map<std::string, RingMEs> SiStripMonitorTrack::RingMEsMap
private

Definition at line 257 of file SiStripMonitorTrack.h.

Referenced by book(), bookRingMEs(), and findMEs().

◆ siStripClusterInfo_

SiStripClusterInfo SiStripMonitorTrack::siStripClusterInfo_
private

Definition at line 170 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), analyze(), fillControlViewHistos(), and RecHitInfo().

◆ siStripDetCabling_

const SiStripDetCabling* SiStripMonitorTrack::siStripDetCabling_ = nullptr
private

◆ siStripDetCablingToken_

edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> SiStripMonitorTrack::siStripDetCablingToken_
private

Definition at line 274 of file SiStripMonitorTrack.h.

Referenced by dqmBeginRun().

◆ sToNLowerLimit_

double SiStripMonitorTrack::sToNLowerLimit_
private

Definition at line 301 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

◆ sToNUpperLimit_

double SiStripMonitorTrack::sToNUpperLimit_
private

Definition at line 302 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

◆ SubDetMEsMap

std::map<std::string, SubDetMEs> SiStripMonitorTrack::SubDetMEsMap
private

Definition at line 258 of file SiStripMonitorTrack.h.

Referenced by analyze(), book(), bookSubDetMEs(), and findMEs().

◆ tkDetMapToken_

edm::ESGetToken<TkDetMap, TrackerTopologyRcd> SiStripMonitorTrack::tkDetMapToken_
private

Definition at line 276 of file SiStripMonitorTrack.h.

Referenced by bookHistograms().

◆ tkgeom_

const TrackerGeometry* SiStripMonitorTrack::tkgeom_ = nullptr
private

◆ tkhisto_ClChPerCMfromOrigin

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClChPerCMfromOrigin
private

Definition at line 174 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_ClChPerCMfromTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClChPerCMfromTrack
private

Definition at line 174 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_ClusterWidthOffTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClusterWidthOffTrack
private

Definition at line 176 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_ClusterWidthOnTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_ClusterWidthOnTrack
private

Definition at line 176 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_NoiseOffTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NoiseOffTrack
private

Definition at line 176 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_NoiseOnTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NoiseOnTrack
private

Definition at line 176 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_NumberInactiveHits

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumberInactiveHits
private

Definition at line 175 of file SiStripMonitorTrack.h.

Referenced by book(), trackStudyFromTrack(), and trajectoryStudy().

◆ tkhisto_NumberValidHits

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumberValidHits
private

Definition at line 175 of file SiStripMonitorTrack.h.

Referenced by book(), trackStudyFromTrack(), and trajectoryStudy().

◆ tkhisto_NumMissingHits

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumMissingHits
private

Definition at line 175 of file SiStripMonitorTrack.h.

Referenced by book(), trackStudyFromTrack(), and trajectoryStudy().

◆ tkhisto_NumOffTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumOffTrack
private

Definition at line 173 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_NumOnTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_NumOnTrack
private

Definition at line 173 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ tkhisto_StoNCorrOnTrack

std::unique_ptr<TkHistoMap> SiStripMonitorTrack::tkhisto_StoNCorrOnTrack
private

Definition at line 173 of file SiStripMonitorTrack.h.

Referenced by book(), and clusterInfos().

◆ TkHistoMap_On_

bool SiStripMonitorTrack::TkHistoMap_On_
private

◆ topFolderName_

std::string SiStripMonitorTrack::topFolderName_
private

Definition at line 168 of file SiStripMonitorTrack.h.

Referenced by analyze(), book(), and SiStripMonitorTrack().

◆ trackAssociatorCollection_in_EventTree

bool SiStripMonitorTrack::trackAssociatorCollection_in_EventTree
private

Definition at line 296 of file SiStripMonitorTrack.h.

◆ trackerGeometryToken_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiStripMonitorTrack::trackerGeometryToken_
private

Definition at line 273 of file SiStripMonitorTrack.h.

Referenced by dqmBeginRun().

◆ trackerTopology_

const TrackerTopology* SiStripMonitorTrack::trackerTopology_ = nullptr
private

Definition at line 281 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), analyze(), fillControlViewHistos(), and RecHitInfo().

◆ trackerTopologyEventToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripMonitorTrack::trackerTopologyEventToken_
private

Definition at line 277 of file SiStripMonitorTrack.h.

Referenced by analyze().

◆ trackerTopologyRunToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripMonitorTrack::trackerTopologyRunToken_
private

Definition at line 275 of file SiStripMonitorTrack.h.

Referenced by bookHistograms().

◆ TrackLabel_

std::string SiStripMonitorTrack::TrackLabel_
private

Definition at line 292 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack(), and trackStudy().

◆ TrackProducer_

std::string SiStripMonitorTrack::TrackProducer_
private

Definition at line 291 of file SiStripMonitorTrack.h.

Referenced by SiStripMonitorTrack().

◆ tracksCollection_in_EventTree

bool SiStripMonitorTrack::tracksCollection_in_EventTree
private

Definition at line 295 of file SiStripMonitorTrack.h.

◆ trackToken_

edm::EDGetTokenT<reco::TrackCollection> SiStripMonitorTrack::trackToken_
private

Definition at line 271 of file SiStripMonitorTrack.h.

Referenced by fillControlViewHistos(), SiStripMonitorTrack(), and trackStudy().

◆ Trend_On_

bool SiStripMonitorTrack::Trend_On_
private

Definition at line 284 of file SiStripMonitorTrack.h.

Referenced by analyze(), bookSubDetMEs(), and SiStripMonitorTrack().

◆ vPSiStripCluster

std::unordered_set<const SiStripCluster*> SiStripMonitorTrack::vPSiStripCluster
private

Definition at line 294 of file SiStripMonitorTrack.h.

Referenced by AllClusters(), analyze(), and RecHitInfo().

◆ widthLowerLimit_

double SiStripMonitorTrack::widthLowerLimit_
private

Definition at line 303 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

◆ widthUpperLimit_

double SiStripMonitorTrack::widthUpperLimit_
private

Definition at line 304 of file SiStripMonitorTrack.h.

Referenced by clusterInfos(), and SiStripMonitorTrack().

Vector3DBase< float, LocalTag >
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
SiStripHistoId::createHistoLayer
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
Definition: SiStripHistoId.cc:51
SiStripMonitorTrack::handleBookMEs
MonitorElement * handleBookMEs(DQMStore::IBooker &, std::string &, std::string &, std::string &, std::string &)
Definition: SiStripMonitorTrack.cc:441
edm::DetSetVector< SiStripDigi >
SiStripDetCabling::addActiveDetectorsRawIds
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
Definition: SiStripDetCabling.cc:134
SiStripMonitorTrack::trackToken_
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: SiStripMonitorTrack.h:271
SiStripMonitorTrack::bookLayerMEs
void bookLayerMEs(DQMStore::IBooker &, const uint32_t, std::string &)
Definition: SiStripMonitorTrack.cc:464
SiStripMonitorTrack::RingMEsMap
std::map< std::string, RingMEs > RingMEsMap
Definition: SiStripMonitorTrack.h:257
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
SiStripMonitorTrack::tkhisto_NumOffTrack
std::unique_ptr< TkHistoMap > tkhisto_NumOffTrack
Definition: SiStripMonitorTrack.h:173
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
SiStripDCSStatus
Definition: SiStripDCSStatus.h:19
mps_fire.i
i
Definition: mps_fire.py:428
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECM
Definition: SiStripMonitorTrack.h:318
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
SiStripMonitorTrack::fillME
void fillME(MonitorElement *ME, float value1)
Definition: SiStripMonitorTrack.h:142
SiStripModuleGeometry::W7
SiStripMonitorTrack::clusterInfos
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)
Definition: SiStripMonitorTrack.cc:1472
SiStripBadStrip::getRange
const Range getRange(const uint32_t detID) const
Definition: SiStripBadStrip.cc:27
GeomDet
Definition: GeomDet.h:27
SiStripMonitorTrack::Single
Definition: SiStripMonitorTrack.h:68
edm::Handle::product
T const * product() const
Definition: Handle.h:70
ClusIter
edmNew::DetSet< SiStripCluster >::const_iterator ClusIter
Definition: PrintRecoObjects.h:15
SiStripMonitorTrack::findMEs
Det2MEs findMEs(const TrackerTopology *tTopo, const uint32_t detid)
Definition: SiStripMonitorTrack.cc:1312
SiStripMonitorTrack::Cluster_src_
edm::InputTag Cluster_src_
Definition: SiStripMonitorTrack.h:267
edm::DetSetVector::end
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
SiStripMonitorTrack::tracksCollection_in_EventTree
bool tracksCollection_in_EventTree
Definition: SiStripMonitorTrack.h:295
SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECP
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TECP
Definition: SiStripMonitorTrack.h:325
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiStripMonitorTrack::sToNUpperLimit_
double sToNUpperLimit_
Definition: SiStripMonitorTrack.h:302
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECM
MonitorElement * ClusterStoNCorr_OnTrack_TECM
Definition: SiStripMonitorTrack.h:313
SiStripMonitorTrack::TrackProducer_
std::string TrackProducer_
Definition: SiStripMonitorTrack.h:291
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TIBTID
Definition: SiStripMonitorTrack.h:316
edm
HLT enums.
Definition: AlignableModifier.h:19
SiStripMonitorTrack::siStripDetCabling_
const SiStripDetCabling * siStripDetCabling_
Definition: SiStripMonitorTrack.h:280
SiStripMonitorTrack::TkHistoMap_On_
bool TkHistoMap_On_
Definition: SiStripMonitorTrack.h:288
TrackerTopology
Definition: TrackerTopology.h:16
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
SiStripMonitorTrack::iLumisection
float iLumisection
Definition: SiStripMonitorTrack.h:166
siStripClusterTools::chargePerCM
float chargePerCM(DetId detid, Iter a, Iter b)
Definition: SiStripClusterTools.h:29
StripSubdetector
Definition: StripSubdetector.h:12
SiStripMonitorTrack::widthUpperLimit_
double widthUpperLimit_
Definition: SiStripMonitorTrack.h:304
SiStripMonitorTrack::tkhisto_NumOnTrack
std::unique_ptr< TkHistoMap > tkhisto_NumOnTrack
Definition: SiStripMonitorTrack.h:173
SiStripClusterInfo::stripCharges
auto stripCharges() const -> decltype(cluster() ->amplitudes())
Definition: SiStripClusterInfo.h:37
SiStripMonitorTrack::Mod_On_
bool Mod_On_
Definition: SiStripMonitorTrack.h:283
SiStripMonitorTrack::bookRingMEs
void bookRingMEs(DQMStore::IBooker &, const uint32_t, std::string &)
Definition: SiStripMonitorTrack.cc:598
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
edmNew::DetSetVector::const_iterator
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetSetVectorNew.h:197
SiStripMonitorTrack::bookMEProfile
MonitorElement * bookMEProfile(DQMStore::IBooker &, const char *, const char *)
Definition: SiStripMonitorTrack.cc:851
TrackerTopology::moduleGeometry
SiStripModuleGeometry moduleGeometry(const DetId &id) const
Definition: TrackerTopology.cc:384
SiStripMonitorTrack::applyClusterQuality_
bool applyClusterQuality_
Definition: SiStripMonitorTrack.h:300
SiStripMonitorTrack::fillControlViewHistos
bool fillControlViewHistos(const edm::Event &ev)
Definition: SiStripMonitorTrack.cc:1342
cms::cuda::assert
assert(be >=bs)
GluedGeomDet::monoDet
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:19
SiStripClusterInfo::maxIndex
uint16_t maxIndex() const
Definition: SiStripClusterInfo.h:45
SiStripMonitorTrack::tkhisto_ClChPerCMfromOrigin
std::unique_ptr< TkHistoMap > tkhisto_ClChPerCMfromOrigin
Definition: SiStripMonitorTrack.h:174
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
SiStripMonitorTrack::firstEvent
int firstEvent
Definition: SiStripMonitorTrack.h:298
SiStripMonitorTrack::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: SiStripMonitorTrack.h:281
anotherprimaryvertexanalyzer_cfi.histoParameters
histoParameters
Definition: anotherprimaryvertexanalyzer_cfi.py:11
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle
Definition: AssociativeIterator.h:50
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
SiStripMonitorTrack::dcsStatus_
SiStripDCSStatus * dcsStatus_
Definition: SiStripMonitorTrack.h:306
SiStripMonitorTrack::conf_
edm::ParameterSet conf_
Definition: SiStripMonitorTrack.h:163
SiStripMonitorTrack::bookMETrend
MonitorElement * bookMETrend(DQMStore::IBooker &, const char *)
Definition: SiStripMonitorTrack.cc:867
TrackingRecHit::geographicalId
DetId geographicalId() const
Definition: TrackingRecHit.h:120
ProjectedSiStripRecHit2D
Definition: ProjectedSiStripRecHit2D.h:8
SiStripClusterInfo::detId
uint32_t detId() const
Definition: SiStripClusterInfo.h:30
SiStripModuleGeometry::W6
SiStripMonitorTrack::SubDetMEsMap
std::map< std::string, SubDetMEs > SubDetMEsMap
Definition: SiStripMonitorTrack.h:258
SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TECM
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TECM
Definition: SiStripMonitorTrack.h:324
SiStripMonitorTrack::book
void book(DQMStore::IBooker &, const TrackerTopology *tTopo, const TkDetMap *tkDetMap)
Definition: SiStripMonitorTrack.cc:165
SiStripGain::getStripGain
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
Definition: SiStripGain.h:73
SiStripClusterInfo::width
uint16_t width() const
Definition: SiStripClusterInfo.h:31
SiStripFolderOrganizer::GetSubDetAndLayer
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:106
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
SiStripMonitorTrack::siStripDetCablingToken_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingToken_
Definition: SiStripMonitorTrack.h:274
DetId
Definition: DetId.h:17
alignCSCRings.s
s
Definition: alignCSCRings.py:92
SiStripMonitorTrack::TrackLabel_
std::string TrackLabel_
Definition: SiStripMonitorTrack.h:292
SiStripMonitorTrack::Projected
Definition: SiStripMonitorTrack.h:68
alignCSCRings.ring_id
string ring_id
Definition: alignCSCRings.py:79
SiStripMonitorTrack::tkhisto_NoiseOffTrack
std::unique_ptr< TkHistoMap > tkhisto_NoiseOffTrack
Definition: SiStripMonitorTrack.h:176
h
SiStripModuleGeometry::W5
SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TIBTID
Definition: SiStripMonitorTrack.h:322
SiStripClusterInfo::baryStrip
float baryStrip() const
Definition: SiStripClusterInfo.h:33
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
SiStripMonitorTrack::Matched
Definition: SiStripMonitorTrack.h:68
SiStripGain::getRange
const SiStripApvGain::Range getRange(uint32_t detID) const
Definition: SiStripGain.h:71
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiStripMonitorTrack::siStripClusterInfo_
SiStripClusterInfo siStripClusterInfo_
Definition: SiStripMonitorTrack.h:170
SiStripClusterInfo::firstStrip
uint16_t firstStrip() const
Definition: SiStripClusterInfo.h:32
SiStripClusterInfo::siStripGain
const SiStripGain * siStripGain() const
Definition: SiStripClusterInfo.h:61
dqm::implementation::IBooker::bookProfile
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())
Definition: DQMStore.h:322
SiStripMatchedRecHit2D::stereoHit
SiStripRecHit2D stereoHit() const
Definition: SiStripMatchedRecHit2D.h:25
ProjectedSiStripRecHit2D::originalHit
SiStripRecHit2D originalHit() const
Definition: ProjectedSiStripRecHit2D.h:56
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TECP
Definition: SiStripMonitorTrack.h:319
TkDetMap
Definition: TkDetMap.h:175
SiStripMonitorTrack::AllClusters
void AllClusters(const edm::Event &ev)
Definition: SiStripMonitorTrack.cc:1250
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
SiStripMonitorTrack::tkDetMapToken_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
Definition: SiStripMonitorTrack.h:276
SiStripFolderOrganizer::getSubDetFolderAndTag
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
Definition: SiStripFolderOrganizer.cc:475
Point3DBase< float, LocalTag >
SiStripMonitorTrack::tkhisto_NumMissingHits
std::unique_ptr< TkHistoMap > tkhisto_NumMissingHits
Definition: SiStripMonitorTrack.h:175
GeomDet::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
SiStripDetId::TEC
static constexpr auto TEC
Definition: SiStripDetId.h:40
GluedGeomDet
Definition: GluedGeomDet.h:7
SiStripQuality::IsStripBad
bool IsStripBad(const uint32_t &detid, const short &strip) const
Definition: SiStripQuality.cc:623
edm::OwnVector::const_iterator
Definition: OwnVector.h:41
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
SiStripMonitorTrack::Null
Definition: SiStripMonitorTrack.h:68
SiStripMonitorTrack::trackerTopologyRunToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyRunToken_
Definition: SiStripMonitorTrack.h:275
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiStripMonitorTrack::tkgeom_
const TrackerGeometry * tkgeom_
Definition: SiStripMonitorTrack.h:279
SiStripMonitorTrack::folderOrganizer_
SiStripFolderOrganizer folderOrganizer_
Definition: SiStripMonitorTrack.h:308
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
SiStripClusterInfo::setCluster
void setCluster(const SiStripCluster &cluster, int detId)
Definition: SiStripClusterInfo.cc:16
GenericTriggerEventFlag::accept
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
Definition: GenericTriggerEventFlag.cc:266
SiStripMonitorTrack::ClusterCount_OnTrack_FECCratevsFECSlot
MonitorElement * ClusterCount_OnTrack_FECCratevsFECSlot
Definition: SiStripMonitorTrack.h:321
SiStripMonitorTrack::tkhisto_NumberInactiveHits
std::unique_ptr< TkHistoMap > tkhisto_NumberInactiveHits
Definition: SiStripMonitorTrack.h:175
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
SiStripMonitorTrack::clchCMoriginTkHmap_On_
bool clchCMoriginTkHmap_On_
Definition: SiStripMonitorTrack.h:289
edm::ParameterSet
Definition: ParameterSet.h:47
DetId::Tracker
Definition: DetId.h:25
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECCratevsFECSlot
MonitorElement * ClusterStoNCorr_OnTrack_FECCratevsFECSlot
Definition: SiStripMonitorTrack.h:315
duplicaterechits_cfi.trackCollection
trackCollection
Definition: duplicaterechits_cfi.py:4
GenericTriggerEventFlag
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
Definition: GenericTriggerEventFlag.h:42
HLT_FULL_cff.value2
value2
Definition: HLT_FULL_cff.py:9868
hgcalDigitizer_cfi.noise
noise
Definition: hgcalDigitizer_cfi.py:155
SiStripMonitorTrack::bookSubDetMEs
void bookSubDetMEs(DQMStore::IBooker &, std::string &name)
Definition: SiStripMonitorTrack.cc:692
SiStripMatchedRecHit2D::monoHit
SiStripRecHit2D monoHit() const
Definition: SiStripMatchedRecHit2D.h:26
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
SiStripMonitorTrack::trackerTopologyEventToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyEventToken_
Definition: SiStripMonitorTrack.h:277
SiStripMonitorTrack::trackFilter
bool trackFilter(const reco::Track &track)
Definition: SiStripMonitorTrack.cc:1075
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
edm::DetSetVector::find
iterator find(det_id_type id)
Definition: DetSetVector.h:264
createfilelist.int
int
Definition: createfilelist.py:10
SiStripFolderOrganizer::setSiStripFolderName
void setSiStripFolderName(std::string name)
Definition: SiStripFolderOrganizer.cc:41
SiStripMonitorTrack::genTriggerEventFlag_
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: SiStripMonitorTrack.h:307
value
Definition: value.py:1
dqm::impl::MonitorElement::setBinLabel
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)
Definition: MonitorElement.cc:771
SiStripMonitorTrack::digiToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > digiToken_
Definition: SiStripMonitorTrack.h:269
cscdqm::HistoName
std::string HistoName
Definition: CSCDQM_HistoDef.h:32
SiStripMonitorTrack::tkhisto_ClChPerCMfromTrack
std::unique_ptr< TkHistoMap > tkhisto_ClChPerCMfromTrack
Definition: SiStripMonitorTrack.h:174
SiStripDetId::TOB
static constexpr auto TOB
Definition: SiStripDetId.h:39
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
SiStripClusterInfo::maxCharge
uint8_t maxCharge() const
Definition: SiStripClusterInfo.h:44
SiStripMonitorTrack::OnTrack
Definition: SiStripMonitorTrack.h:76
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
SiStripClusterInfo::charge
uint16_t charge() const
Definition: SiStripClusterInfo.h:43
SiStripHistoId::createHistoId
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
Definition: SiStripHistoId.cc:26
input2
#define input2
Definition: AMPTWrapper.h:159
hcalSimParameters_cfi.hb
hb
Definition: hcalSimParameters_cfi.py:60
SiStripMonitorTrack::tkhisto_StoNCorrOnTrack
std::unique_ptr< TkHistoMap > tkhisto_StoNCorrOnTrack
Definition: SiStripMonitorTrack.h:173
SiStripMonitorTrack::tkhisto_NoiseOnTrack
std::unique_ptr< TkHistoMap > tkhisto_NoiseOnTrack
Definition: SiStripMonitorTrack.h:176
SiStripMonitorTrack::return2DME
void return2DME(MonitorElement *input1, MonitorElement *input2, int binx, int biny, double value)
Definition: SiStripMonitorTrack.cc:1457
EcalMEFormatter_cfi.MEs
MEs
Definition: EcalMEFormatter_cfi.py:25
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TIBTID
MonitorElement * ClusterStoNCorr_OnTrack_TIBTID
Definition: SiStripMonitorTrack.h:311
SiStripFolderOrganizer::setDetectorFolder
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
Definition: SiStripFolderOrganizer.cc:202
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:120
TrackingRecHit
Definition: TrackingRecHit.h:21
SiStripMonitorTrack::bookME1D
MonitorElement * bookME1D(DQMStore::IBooker &, const char *, const char *)
Definition: SiStripMonitorTrack.cc:806
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
SiStripDetId::TID
static constexpr auto TID
Definition: SiStripDetId.h:38
GluedGeomDet::stereoDet
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
HLT_FULL_cff.value1
value1
Definition: HLT_FULL_cff.py:9869
SiStripHistoId
Definition: SiStripHistoId.h:25
SiStripClusterInfo::initEvent
void initEvent(const edm::EventSetup &iSetup)
Definition: SiStripClusterInfo.cc:10
SiStripDCSStatus::getStatus
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: SiStripDCSStatus.cc:41
GenericTriggerEventFlag::on
bool on()
Definition: GenericTriggerEventFlag.h:135
SiStripClusterInfo::siStripQuality
const SiStripQuality * siStripQuality() const
Definition: SiStripClusterInfo.h:62
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TOB
MonitorElement * ClusterStoNCorr_OnTrack_TOB
Definition: SiStripMonitorTrack.h:312
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripMonitorTrack::vPSiStripCluster
std::unordered_set< const SiStripCluster * > vPSiStripCluster
Definition: SiStripMonitorTrack.h:294
SiStripMonitorTrack::tkhisto_ClusterWidthOffTrack
std::unique_ptr< TkHistoMap > tkhisto_ClusterWidthOffTrack
Definition: SiStripMonitorTrack.h:176
SiStripClusterInfo::noiseRescaledByGain
float noiseRescaledByGain() const
Definition: SiStripClusterInfo.h:51
SiStripMonitorTrack::numTracks
int numTracks
Definition: SiStripMonitorTrack.h:179
SiStripMonitorTrack::OffTrack
Definition: SiStripMonitorTrack.h:76
SiStripMonitorTrack::hitStudy
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)
Definition: SiStripMonitorTrack.cc:980
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
SiStripMonitorTrack::trackStudy
void trackStudy(const edm::Event &ev)
Definition: SiStripMonitorTrack.cc:1047
relativeConstraints.value
value
Definition: relativeConstraints.py:53
SiStripFolderOrganizer::setLayerFolder
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
Definition: SiStripFolderOrganizer.cc:304
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
SiStripMonitorTrack::ModMEsMap
std::map< std::string, ModMEs > ModMEsMap
Definition: SiStripMonitorTrack.h:255
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
dqm::implementation::IBooker::book3D
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())
Definition: DQMStore.h:290
SiStripFolderOrganizer
Definition: SiStripFolderOrganizer.h:27
SiStripDetCabling::nApvPairs
const uint16_t nApvPairs(uint32_t det_id) const
Definition: SiStripDetCabling.cc:209
LV
math::XYZTLorentzVectorD LV
Definition: HLTTauDQMPlotter.h:15
ME
Definition: ME.h:11
SiStripMonitorTrack::trajectoryStudy
void trajectoryStudy(const reco::Track &track, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev, bool track_ok)
Definition: SiStripMonitorTrack.cc:888
SiStripMonitorTrack::trackerGeometryToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
Definition: SiStripMonitorTrack.h:273
SiStripMonitorTrack::widthLowerLimit_
double widthLowerLimit_
Definition: SiStripMonitorTrack.h:303
SiStripDetId::TIB
static constexpr auto TIB
Definition: SiStripDetId.h:37
SiStripHistoId::getSubdetid
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
Definition: SiStripHistoId.cc:82
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
SiStripMonitorTrack::tkhisto_ClusterWidthOnTrack
std::unique_ptr< TkHistoMap > tkhisto_ClusterWidthOnTrack
Definition: SiStripMonitorTrack.h:176
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
GenericTriggerEventFlag::initRun
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
Definition: GenericTriggerEventFlag.cc:153
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiStripMonitorTrack::topFolderName_
std::string topFolderName_
Definition: SiStripMonitorTrack.h:168
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB
MonitorElement * ClusterStoNCorr_OnTrack_FECSlotVsFECRing_TOB
Definition: SiStripMonitorTrack.h:317
SiStripMonitorTrack::ClusterStoNCorr_OnTrack_TECP
MonitorElement * ClusterStoNCorr_OnTrack_TECP
Definition: SiStripMonitorTrack.h:314
SiStripDetId
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:18
input1
#define input1
Definition: AMPTWrapper.h:139
dummy
Definition: DummySelector.h:38
SiStripMonitorTrack::bookModMEs
void bookModMEs(DQMStore::IBooker &, const uint32_t)
Definition: SiStripMonitorTrack.cc:393
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
xuti::subdet_tag
const std::string subdet_tag("SubDet")
SiStripMonitorTrack::trackStudyFromTrajectory
void trackStudyFromTrajectory(edm::Handle< reco::TrackCollection > trackCollectionHandle, const edm::DetSetVector< SiStripDigi > &digilist, const edm::Event &ev)
Definition: SiStripMonitorTrack.cc:1164
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
SiStripMonitorTrack::ClusterCount_OnTrack_FECSlotVsFECRing_TOB
MonitorElement * ClusterCount_OnTrack_FECSlotVsFECRing_TOB
Definition: SiStripMonitorTrack.h:323
Parameters
vector< ParameterSet > Parameters
Definition: HLTMuonPlotter.cc:25
SiStripClusterInfo::signalOverNoise
float signalOverNoise() const
Definition: SiStripClusterInfo.h:53
SiStripMonitorTrack::LayerMEsMap
std::map< std::string, LayerMEs > LayerMEsMap
Definition: SiStripMonitorTrack.h:256
SiStripCluster
Definition: SiStripCluster.h:9
MonitorElementData::Kind::TPROFILE
SiStripMonitorTrack::clusterToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterToken_
Definition: SiStripMonitorTrack.h:270
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
SiStripMonitorTrack::eventNb
edm::EventNumber_t eventNb
Definition: SiStripMonitorTrack.h:297
edm::InputTag
Definition: InputTag.h:15
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
SiStripDetCabling::getConnections
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
Definition: SiStripDetCabling.cc:161
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
SiStripMonitorTrack::Trend_On_
bool Trend_On_
Definition: SiStripMonitorTrack.h:284
hit
Definition: SiStripHitEffFromCalibTree.cc:88
SiStripMonitorTrack::sToNLowerLimit_
double sToNLowerLimit_
Definition: SiStripMonitorTrack.h:301
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:116
SiStripMonitorTrack::tkhisto_NumberValidHits
std::unique_ptr< TkHistoMap > tkhisto_NumberValidHits
Definition: SiStripMonitorTrack.h:175
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15
edmNew::DetSet::const_iterator
const data_type * const_iterator
Definition: DetSetNew.h:31
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184