CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
SiStripMonitorCluster Class Reference

#include <DQM/SiStripMonitorCluster/src/SiStripMonitorCluster.cc>

Inheritance diagram for SiStripMonitorCluster:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  ClusterProperties
 
struct  LayerMEs
 
struct  ModMEs
 
struct  SubDetMEs
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
virtual void endJob ()
 
 SiStripMonitorCluster (const edm::ParameterSet &)
 
 ~SiStripMonitorCluster ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Public Attributes

MonitorElementBPTXrateTrend = 0
 
MonitorElementGlobalApvCycleDBxTH2 = 0
 
MonitorElementGlobalCStripVsCpix = 0
 
MonitorElementGlobalMainDiagonalPosition = 0
 
MonitorElementNumberOfPixelClus = 0
 
MonitorElementNumberOfStripClus = 0
 
MonitorElementPixVsStripMultiplicityRegions = 0
 
MonitorElementStripNoise2Cycle = 0
 
MonitorElementStripNoise3Cycle = 0
 

Private Member Functions

MonitorElementbookME1D (const char *ParameterSetLabel, const char *HistoName)
 
MonitorElementbookMETrend (const char *, const char *)
 
void createLayerMEs (std::string label, int ndets)
 
void createMEs (const edm::EventSetup &es)
 
void createModuleMEs (ModMEs &mod_single, uint32_t detid)
 
void createSubDetMEs (std::string label)
 
void fillLayerMEs (LayerMEs &, ClusterProperties &cluster, float timeinorbit)
 
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)
 
void fillModuleMEs (ModMEs &mod_mes, ClusterProperties &cluster)
 
int FindRegion (int nstrip, int npixel)
 
void ResetModuleMEs (uint32_t idet)
 

Private Attributes

bool applyClusterQuality_
 
edm::InputTag apvPhaseProducer_
 
bool ClusterHisto_
 
edm::InputTag clusterProducerPix_
 
edm::InputTag clusterProducerStrip_
 
bool clustertkhistomapon
 
edm::ParameterSet conf_
 
bool createTrendMEs
 
SiStripDCSStatusdcsStatus_
 
double dk0
 
DQMStoredqmStore_
 
int eventNb
 
int firstEvent
 
GenericTriggerEventFlaggenTriggerEventFlagBPTXfilter_
 
GenericTriggerEventFlaggenTriggerEventFlagPixelDCSfilter_
 
GenericTriggerEventFlaggenTriggerEventFlagStripDCSfilter_
 
bool globalswitchapvcycledbxth2on
 
bool globalswitchcstripvscpix
 
bool globalswitchmaindiagonalposition
 
bool globalswitchMultiRegions
 
bool globalswitchstripnoise2apvcycle
 
bool globalswitchstripnoise3apvcycle
 
edm::InputTag historyProducer_
 
double k0
 
std::map< std::string,
std::vector< uint32_t > > 
LayerDetMap
 
std::map< std::string, LayerMEsLayerMEsMap
 
bool layerswitchcluschargeon
 
bool layerswitchclusdigiposon
 
bool layerswitchclusnoiseon
 
bool layerswitchclusposon
 
bool layerswitchclusstonon
 
bool layerswitchclusstonVsposon
 
bool layerswitchclusterwidthprofon
 
bool layerswitchcluswidthon
 
bool layerswitchlocaloccupancy
 
bool layerswitchncluson
 
bool layerswitchnrclusterizedstrip
 
bool layerswitchnumclusterprofon
 
unsigned long long m_cacheID_
 
double maxClus
 
double minPix
 
bool Mod_On_
 
std::map< uint32_t, ModMEsModuleMEsMap
 
std::vector< uint32_t > ModulesToBeExcluded_
 
bool moduleswitchcluschargeon
 
bool moduleswitchclusdigiposon
 
bool moduleswitchclusnoiseon
 
bool moduleswitchclusposon
 
bool moduleswitchclusstonon
 
bool moduleswitchclusstonVsposon
 
bool moduleswitchcluswidthon
 
bool moduleswitchlocaloccupancy
 
bool moduleswitchncluson
 
bool moduleswitchnrclusterizedstrip
 
edm::ParameterSet Parameters
 
bool passBPTXfilter_
 
bool passPixelDCSfilter_
 
bool passStripDCSfilter_
 
double q0
 
std::string qualityLabel_
 
bool reset_each_run
 
int runNb
 
bool select_all_detectors
 
bool show_control_view
 
bool show_mechanical_structure_view
 
bool show_readout_view
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
double sToNLowerLimit_
 
double sToNUpperLimit_
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
std::map< std::string,
std::string > 
SubDetPhasePartMap
 
bool subdetswitchapvcycledbxprof2on
 
bool subdetswitchapvcycleprofon
 
bool subdetswitchapvcycleth2on
 
bool subdetswitchdbxcycleprofon
 
bool subdetswitchtotclusprofon
 
bool subdetswitchtotclusth1on
 
TkHistoMaptkmapcluster
 
std::string topFolderName_
 
double widthLowerLimit_
 
double widthUpperLimit_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Data Quality Monitoring source of the Silicon Strip Tracker. Produces histograms related to clusters.

Definition at line 31 of file SiStripMonitorCluster.h.

Constructor & Destructor Documentation

SiStripMonitorCluster::SiStripMonitorCluster ( const edm::ParameterSet iConfig)
explicit

Definition at line 46 of file SiStripMonitorCluster.cc.

References applyClusterQuality_, apvPhaseProducer_, ClusterHisto_, clusterProducerPix_, clusterProducerStrip_, clustertkhistomapon, conf_, createTrendMEs, dcsStatus_, dk0, eventNb, firstEvent, genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, edm::ParameterSet::getParameter(), globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, historyProducer_, k0, layerswitchcluschargeon, layerswitchclusdigiposon, layerswitchclusnoiseon, layerswitchclusposon, layerswitchclusstonon, layerswitchclusstonVsposon, layerswitchclusterwidthprofon, layerswitchcluswidthon, layerswitchlocaloccupancy, layerswitchncluson, layerswitchnrclusterizedstrip, layerswitchnumclusterprofon, maxClus, minPix, Mod_On_, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, passBPTXfilter_, q0, qualityLabel_, sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetPhasePartMap, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, topFolderName_, widthLowerLimit_, and widthUpperLimit_.

48  // , genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig))
49 {
50 
51  // initialize
52  passBPTXfilter_ = true;
53 
54  // initialize GenericTriggerEventFlag by specific configuration
55  // in this way, one can set specific selections for different MEs
59 
60  firstEvent = -1;
61  eventNb = 0;
62 
63  // Detector Partitions
64  SubDetPhasePartMap["TIB"] = "TI";
65  SubDetPhasePartMap["TID__side__1"] = "TI";
66  SubDetPhasePartMap["TID__side__2"] = "TI";
67  SubDetPhasePartMap["TOB"] = "TO";
68  SubDetPhasePartMap["TEC__side__1"] = "TM";
69  SubDetPhasePartMap["TEC__side__2"] = "TP";
70 
71  //get on/off option for every cluster from cfi
72  edm::ParameterSet ParametersnClusters = conf_.getParameter<edm::ParameterSet>("TH1nClusters");
73  layerswitchncluson = ParametersnClusters.getParameter<bool>("layerswitchon");
74  moduleswitchncluson = ParametersnClusters.getParameter<bool>("moduleswitchon");
75 
76  edm::ParameterSet ParametersClusterCharge = conf_.getParameter<edm::ParameterSet>("TH1ClusterCharge");
77  layerswitchcluschargeon = ParametersClusterCharge.getParameter<bool>("layerswitchon");
78  moduleswitchcluschargeon = ParametersClusterCharge.getParameter<bool>("moduleswitchon");
79 
80  edm::ParameterSet ParametersClusterStoN = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoN");
81  layerswitchclusstonon = ParametersClusterStoN.getParameter<bool>("layerswitchon");
82  moduleswitchclusstonon = ParametersClusterStoN.getParameter<bool>("moduleswitchon");
83 
84  edm::ParameterSet ParametersClusterStoNVsPos = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNVsPos");
85  layerswitchclusstonVsposon = ParametersClusterStoNVsPos.getParameter<bool>("layerswitchon");
86  moduleswitchclusstonVsposon = ParametersClusterStoNVsPos.getParameter<bool>("moduleswitchon");
87 
88  edm::ParameterSet ParametersClusterPos = conf_.getParameter<edm::ParameterSet>("TH1ClusterPos");
89  layerswitchclusposon = ParametersClusterPos.getParameter<bool>("layerswitchon");
90  moduleswitchclusposon = ParametersClusterPos.getParameter<bool>("moduleswitchon");
91 
92  edm::ParameterSet ParametersClusterDigiPos = conf_.getParameter<edm::ParameterSet>("TH1ClusterDigiPos");
93  layerswitchclusdigiposon = ParametersClusterDigiPos.getParameter<bool>("layerswitchon");
94  moduleswitchclusdigiposon = ParametersClusterDigiPos.getParameter<bool>("moduleswitchon");
95 
96  edm::ParameterSet ParametersClusterNoise = conf_.getParameter<edm::ParameterSet>("TH1ClusterNoise");
97  layerswitchclusnoiseon = ParametersClusterNoise.getParameter<bool>("layerswitchon");
98  moduleswitchclusnoiseon = ParametersClusterNoise.getParameter<bool>("moduleswitchon");
99 
100  edm::ParameterSet ParametersClusterWidth = conf_.getParameter<edm::ParameterSet>("TH1ClusterWidth");
101  layerswitchcluswidthon = ParametersClusterWidth.getParameter<bool>("layerswitchon");
102  moduleswitchcluswidthon = ParametersClusterWidth.getParameter<bool>("moduleswitchon");
103 
104  edm::ParameterSet ParametersModuleLocalOccupancy = conf_.getParameter<edm::ParameterSet>("TH1ModuleLocalOccupancy");
105  layerswitchlocaloccupancy = ParametersModuleLocalOccupancy.getParameter<bool>("layerswitchon");
106  moduleswitchlocaloccupancy = ParametersModuleLocalOccupancy.getParameter<bool>("moduleswitchon");
107 
108  edm::ParameterSet ParametersNrOfClusterizedStrips = conf_.getParameter<edm::ParameterSet>("TH1NrOfClusterizedStrips");
109  layerswitchnrclusterizedstrip = ParametersNrOfClusterizedStrips.getParameter<bool>("layerswitchon");
110  moduleswitchnrclusterizedstrip = ParametersNrOfClusterizedStrips.getParameter<bool>("moduleswitchon");
111 
112  edm::ParameterSet ParametersClusterProf = conf_.getParameter<edm::ParameterSet>("TProfNumberOfCluster");
113  layerswitchnumclusterprofon = ParametersClusterProf.getParameter<bool>("layerswitchon");
114 
115  edm::ParameterSet ParametersClusterWidthProf = conf_.getParameter<edm::ParameterSet>("TProfClusterWidth");
116  layerswitchclusterwidthprofon = ParametersClusterWidthProf.getParameter<bool>("layerswitchon");
117 
118  edm::ParameterSet ParametersTotClusterProf = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfClusters");
119  subdetswitchtotclusprofon = ParametersTotClusterProf.getParameter<bool>("subdetswitchon");
120 
121  edm::ParameterSet ParametersTotClusterTH1 = conf_.getParameter<edm::ParameterSet>("TH1TotalNumberOfClusters");
122  subdetswitchtotclusth1on = ParametersTotClusterTH1.getParameter<bool>("subdetswitchon");
123 
124  edm::ParameterSet ParametersClusterApvProf = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
125  subdetswitchapvcycleprofon = ParametersClusterApvProf.getParameter<bool>("subdetswitchon");
126 
127  edm::ParameterSet ParametersClustersApvTH2 = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
128  subdetswitchapvcycleth2on = ParametersClustersApvTH2.getParameter<bool>("subdetswitchon");
129 
130  edm::ParameterSet ParametersApvCycleDBxProf2 = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
131  subdetswitchapvcycledbxprof2on = ParametersApvCycleDBxProf2.getParameter<bool>("subdetswitchon");
132 
133  edm::ParameterSet ParametersDBxCycleProf = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
134  subdetswitchdbxcycleprofon = ParametersDBxCycleProf.getParameter<bool>("subdetswitchon");
135 
136  edm::ParameterSet ParametersCStripVsCPix = conf_.getParameter<edm::ParameterSet>("TH2CStripVsCpixel");
137  globalswitchcstripvscpix = ParametersCStripVsCPix.getParameter<bool>("globalswitchon");
138 
139  edm::ParameterSet ParametersMultiplicityRegionsTH1 = conf_.getParameter<edm::ParameterSet>("TH1MultiplicityRegions");
140  globalswitchMultiRegions = ParametersMultiplicityRegionsTH1.getParameter<bool>("globalswitchon");
141 
142  edm::ParameterSet ParametersApvCycleVsDBxGlobalTH2 = conf_.getParameter<edm::ParameterSet>("TH2ApvCycleVsDBxGlobal");
143  globalswitchapvcycledbxth2on = ParametersApvCycleVsDBxGlobalTH2.getParameter<bool>("globalswitchon");
144 
145  edm::ParameterSet ParametersNoiseStrip2ApvCycle = conf_.getParameter<edm::ParameterSet>("TH1StripNoise2ApvCycle");
146  globalswitchstripnoise2apvcycle = ParametersNoiseStrip2ApvCycle.getParameter<bool>("globalswitchon");
147 
148  edm::ParameterSet ParametersNoiseStrip3ApvCycle = conf_.getParameter<edm::ParameterSet>("TH1StripNoise3ApvCycle");
149  globalswitchstripnoise3apvcycle = ParametersNoiseStrip3ApvCycle.getParameter<bool>("globalswitchon");
150 
151  edm::ParameterSet ParametersMainDiagonalPosition = conf_.getParameter<edm::ParameterSet>("TH1MainDiagonalPosition");
152  globalswitchmaindiagonalposition= ParametersMainDiagonalPosition.getParameter<bool>("globalswitchon");
153 
154  edm::ParameterSet ClusterMultiplicityRegions = conf_.getParameter<edm::ParameterSet>("MultiplicityRegions");
155  k0 = ClusterMultiplicityRegions.getParameter<double>("k0");
156  q0 = ClusterMultiplicityRegions.getParameter<double>("q0");
157  dk0 = ClusterMultiplicityRegions.getParameter<double>("dk0");
158  maxClus = ClusterMultiplicityRegions.getParameter<double>("MaxClus");
159  minPix = ClusterMultiplicityRegions.getParameter<double>("MinPix");
160 
161  clustertkhistomapon = conf_.getParameter<bool>("TkHistoMap_On");
162  createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs");
163  Mod_On_ = conf_.getParameter<bool>("Mod_On");
164  ClusterHisto_ = conf_.getParameter<bool>("ClusterHisto");
165 
166  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
167 
168 
169  // Poducer name of input StripClusterCollection
170  clusterProducerStrip_ = conf_.getParameter<edm::InputTag>("ClusterProducerStrip");
171  clusterProducerPix_ = conf_.getParameter<edm::InputTag>("ClusterProducerPix");
172  // SiStrip Quality Label
173  qualityLabel_ = conf_.getParameter<std::string>("StripQualityLabel");
174  // cluster quality conditions
175  edm::ParameterSet cluster_condition = conf_.getParameter<edm::ParameterSet>("ClusterConditions");
176  applyClusterQuality_ = cluster_condition.getParameter<bool>("On");
177  sToNLowerLimit_ = cluster_condition.getParameter<double>("minStoN");
178  sToNUpperLimit_ = cluster_condition.getParameter<double>("maxStoN");
179  widthLowerLimit_ = cluster_condition.getParameter<double>("minWidth");
180  widthUpperLimit_ = cluster_condition.getParameter<double>("maxWidth");
181 
182  // Event History Producer
183  historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer");
184  // Apv Phase Producer
185  apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer");
186 
187  // Create DCS Status
188  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
189  if (checkDCS) dcsStatus_ = new SiStripDCSStatus();
190  else dcsStatus_ = 0;
191 
192 }
T getParameter(std::string const &) const
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
unsigned long long m_cacheID_
std::map< std::string, std::string > SubDetPhasePartMap
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
SiStripDCSStatus * dcsStatus_
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
SiStripMonitorCluster::~SiStripMonitorCluster ( )

Member Function Documentation

void SiStripMonitorCluster::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 436 of file SiStripMonitorCluster.cc.

References GenericTriggerEventFlag::accept(), applyClusterQuality_, apvPhaseProducer_, edmNew::DetSet< T >::begin(), SiStripMonitorCluster::ClusterProperties::charge, ClusterHisto_, clusterProducerPix_, clusterProducerStrip_, clustertkhistomapon, createTrendMEs, edmNew::DetSetVector< T >::data(), dcsStatus_, cond::rpcobgas::detid, edmNew::DetSet< T >::end(), eventNb, edm::HandleBase::failedToGet(), TkHistoMap::fill(), MonitorElement::Fill(), HcalObjRepresent::Fill(), fillLayerMEs(), fillME(), fillModuleMEs(), FindRegion(), genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, edm::EventSetup::get(), edm::Event::getByLabel(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), GlobalApvCycleDBxTH2, GlobalCStripVsCpix, GlobalMainDiagonalPosition, globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, historyProducer_, edm::EventBase::id(), APVCyclePhaseCollection::invalid, edm::EventBase::isRealData(), edm::HandleBase::isValid(), k0, SiStripMonitorCluster::LayerMEs::LayerClusterWidthProfile, LayerDetMap, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancy, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancyTrend, LayerMEsMap, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterProfile, layerswitchclusterwidthprofon, layerswitchlocaloccupancy, layerswitchnumclusterprofon, Association::map, Mod_On_, SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, ModuleMEsMap, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, APVCyclePhaseCollection::multiphase, SiStripMonitorCluster::ClusterProperties::noise, APVCyclePhaseCollection::nopartition, SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, NULL, SiStripMonitorCluster::ModMEs::NumberOfClusters, NumberOfPixelClus, NumberOfStripClus, GenericTriggerEventFlag::on(), edm::EventBase::orbitNumber(), passBPTXfilter_, passPixelDCSfilter_, passStripDCSfilter_, PixVsStripMultiplicityRegions, SiStripMonitorCluster::ClusterProperties::position, edm::Handle< T >::product(), edm::ESHandle< class >::product(), qualityLabel_, edm::EventID::run(), runNb, SiStripDetCabling_, edmNew::DetSet< T >::size(), SiPixelCluster::size(), mathSSE::sqrt(), SiStripMonitorCluster::ClusterProperties::start, sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, StripNoise2Cycle, StripNoise3Cycle, SiStripMonitorCluster::SubDetMEs::SubDetApvDBxProf2, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvProf, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvTH2, SiStripMonitorCluster::SubDetMEs::SubDetClusterDBxCycleProf, SubDetMEsMap, SubDetPhasePartMap, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterProf, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterTH1, tkmapcluster, SiStripMonitorCluster::SubDetMEs::totNClusters, SiStripMonitorCluster::ClusterProperties::width, widthLowerLimit_, and widthUpperLimit_.

437 {
438  //Retrieve tracker topology from geometry
439  edm::ESHandle<TrackerTopology> tTopoHandle;
440  iSetup.get<IdealGeometryRecord>().get(tTopoHandle);
441  const TrackerTopology* const tTopo = tTopoHandle.product();
442 
443  // Filter out events if Trigger Filtering is requested
444  passBPTXfilter_ = ( iEvent.isRealData() and genTriggerEventFlagBPTXfilter_->on() ) ? genTriggerEventFlagBPTXfilter_->accept( iEvent, iSetup) : true;
447  // std::cout << "passBPTXfilter_ ? " << passBPTXfilter_ << std::endl;
448 
449  // Filter out events if DCS Event if requested
450  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent,iSetup)) return;
451 
452  runNb = iEvent.id().run();
453  eventNb++;
454  float iOrbitSec = iEvent.orbitNumber()/11223.0;
455 
456  int NPixClusters=0, NStripClusters=0, MultiplicityRegion=0;
457  bool isPixValid=false;
458 
459  edm::ESHandle<SiStripNoises> noiseHandle;
460  iSetup.get<SiStripNoisesRcd>().get(noiseHandle);
461 
462  edm::ESHandle<SiStripGain> gainHandle;
463  iSetup.get<SiStripGainRcd>().get(gainHandle);
464 
465  edm::ESHandle<SiStripQuality> qualityHandle;
466  iSetup.get<SiStripQualityRcd>().get(qualityLabel_,qualityHandle);
467 
469 
470  // get collection of DetSetVector of clusters from Event
472  iEvent.getByLabel(clusterProducerStrip_, cluster_detsetvektor);
473 
474  //get pixel clusters
475  edm::Handle< edmNew::DetSetVector<SiPixelCluster> > cluster_detsetvektor_pix;
476  iEvent.getByLabel(clusterProducerPix_, cluster_detsetvektor_pix);
477 
478  if (!cluster_detsetvektor.isValid()) return;
479 
480  const edmNew::DetSetVector<SiStripCluster> * StrC= cluster_detsetvektor.product();
481  NStripClusters= StrC->data().size();
482 
483  if (cluster_detsetvektor_pix.isValid()){
484  const edmNew::DetSetVector<SiPixelCluster> * PixC= cluster_detsetvektor_pix.product();
485  NPixClusters= PixC->data().size();
486  isPixValid=true;
487  MultiplicityRegion=FindRegion(NStripClusters,NPixClusters);
488 
490  if (globalswitchcstripvscpix) GlobalCStripVsCpix->Fill(NStripClusters,NPixClusters);
491  if (globalswitchmaindiagonalposition && NStripClusters > 0) GlobalMainDiagonalPosition->Fill(atan(NPixClusters/(k0*NStripClusters)));
493  }
494 
495  if (ClusterHisto_){
497  NumberOfPixelClus->Fill(NPixClusters);
498  if ( passBPTXfilter_ and passStripDCSfilter_ )
499  NumberOfStripClus->Fill(NStripClusters);
500  }
501  }
502  // initialise # of clusters to zero
503  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin();
504  iSubdet != SubDetMEsMap.end(); iSubdet++) {
505  iSubdet->second.totNClusters = 0;
506  }
507 
508  SiStripFolderOrganizer folder_organizer;
509  bool found_layer_me = false;
510  for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin();
511  iterLayer != LayerDetMap.end(); iterLayer++) {
512 
513  std::string layer_label = iterLayer->first;
514 
515  int ncluster_layer = 0;
516  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
517 
518  //get Layer MEs
519  LayerMEs layer_single;
520  if(iLayerME != LayerMEsMap.end()) {
521  layer_single = iLayerME->second;
522  found_layer_me = true;
523  }
524 
525  bool found_module_me = false;
526  uint16_t iDet = 0;
527  std::string subdet_label = "";
528  // loop over all modules in the layer
529  for (std::vector< uint32_t >::const_iterator iterDets = iterLayer->second.begin() ;
530  iterDets != iterLayer->second.end() ; iterDets++) {
531  iDet++;
532  // detid and type of ME
533  uint32_t detid = (*iterDets);
534 
535  // Get SubDet label once
536  if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid, tTopo).second;
537 
538  // DetId and corresponding set of MEs
539  ModMEs mod_single;
540  if (Mod_On_) {
541  std::map<uint32_t, ModMEs >::iterator imodME = ModuleMEsMap.find(detid);
542  if (imodME != ModuleMEsMap.end()) {
543  mod_single = imodME->second;
544  found_module_me = true;
545  }
546  } else found_module_me = false;
547 
548  edmNew::DetSetVector<SiStripCluster>::const_iterator isearch = cluster_detsetvektor->find(detid); // search clusters of detid
549 
550  if(isearch==cluster_detsetvektor->end()){
551  if(found_module_me && moduleswitchncluson && (mod_single.NumberOfClusters)){
552  (mod_single.NumberOfClusters)->Fill(0.); // no clusters for this detector module,fill histogram with 0
553  }
554  if(clustertkhistomapon) tkmapcluster->fill(detid,0.);
555  if (found_layer_me && layerswitchnumclusterprofon) layer_single.LayerNumberOfClusterProfile->Fill(iDet, 0.0);
556  continue; // no clusters for this detid => jump to next step of loop
557  }
558 
559  //cluster_detset is a structure, cluster_detset.data is a std::vector<SiStripCluster>, cluster_detset.id is uint32_t
560  edmNew::DetSet<SiStripCluster> cluster_detset = (*cluster_detsetvektor)[detid]; // the statement above makes sure there exists an element with 'detid'
561 
562  // Filling TkHistoMap with number of clusters for each module
563  if(clustertkhistomapon) {
564  tkmapcluster->fill(detid,static_cast<float>(cluster_detset.size()));
565  }
566 
567  if(moduleswitchncluson && found_module_me && (mod_single.NumberOfClusters != NULL)){ // nr. of clusters per module
568  (mod_single.NumberOfClusters)->Fill(static_cast<float>(cluster_detset.size()));
569  }
570 
571  if (found_layer_me && layerswitchnumclusterprofon)
572  layer_single.LayerNumberOfClusterProfile->Fill(iDet, static_cast<float>(cluster_detset.size()));
573  ncluster_layer += cluster_detset.size();
574 
575  short total_clusterized_strips = 0;
576 
577  SiStripNoises::Range detNoiseRange = noiseHandle->getRange(detid);
578  SiStripApvGain::Range detGainRange = gainHandle->getRange(detid);
579  SiStripQuality::Range qualityRange = qualityHandle->getRange(detid);
580 
581  for(edmNew::DetSet<SiStripCluster>::const_iterator clusterIter = cluster_detset.begin(); clusterIter!= cluster_detset.end(); clusterIter++){
582 
583  const std::vector<uint8_t>& ampls = clusterIter->amplitudes();
584  // cluster position
585  float cluster_position = clusterIter->barycenter();
586  // start defined as nr. of first strip beloning to the cluster
587  short cluster_start = clusterIter->firstStrip();
588  // width defined as nr. of strips that belong to cluster
589  short cluster_width = ampls.size();
590  // add nr of strips of this cluster to total nr. of clusterized strips
591  total_clusterized_strips = total_clusterized_strips + cluster_width;
592 
593  // cluster signal and noise from the amplitudes
594  float cluster_signal = 0.0;
595  float cluster_noise = 0.0;
596  int nrnonzeroamplitudes = 0;
597  float noise2 = 0.0;
598  float noise = 0.0;
599  for(uint iamp=0; iamp<ampls.size(); iamp++){
600  if(ampls[iamp]>0){ // nonzero amplitude
601  cluster_signal += ampls[iamp];
602  if(!qualityHandle->IsStripBad(qualityRange, clusterIter->firstStrip()+iamp)){
603  noise = noiseHandle->getNoise(clusterIter->firstStrip()+iamp,detNoiseRange)/gainHandle->getStripGain(clusterIter->firstStrip()+iamp, detGainRange);
604  }
605  noise2 += noise*noise;
606  nrnonzeroamplitudes++;
607  }
608  } // End loop over cluster amplitude
609 
610  if (nrnonzeroamplitudes > 0) cluster_noise = sqrt(noise2/nrnonzeroamplitudes);
611 
612  if( applyClusterQuality_ &&
613  (cluster_signal/cluster_noise < sToNLowerLimit_ ||
614  cluster_signal/cluster_noise > sToNUpperLimit_ ||
615  cluster_width < widthLowerLimit_ ||
616  cluster_width > widthUpperLimit_) ) continue;
617 
618  ClusterProperties cluster_properties;
619  cluster_properties.charge = cluster_signal;
620  cluster_properties.position = cluster_position;
621  cluster_properties.start = cluster_start;
622  cluster_properties.width = cluster_width;
623  cluster_properties.noise = cluster_noise;
624 
625  // Fill Module Level MEs
626  if (found_module_me) fillModuleMEs(mod_single, cluster_properties);
627 
628  // Fill Layer Level MEs
629  if (found_layer_me) {
630  fillLayerMEs(layer_single, cluster_properties, iOrbitSec);
632  layer_single.LayerClusterWidthProfile->Fill(iDet, cluster_width);
633  }
634  } // end loop over clusters
635 
636  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
637  float local_occupancy = static_cast<float>(total_clusterized_strips)/static_cast<float>(total_nr_strips);
638  if (found_module_me) {
639  if(moduleswitchnrclusterizedstrip && mod_single.NrOfClusterizedStrips ){ // nr of clusterized strips
640  mod_single.NrOfClusterizedStrips->Fill(static_cast<float>(total_clusterized_strips));
641  }
642 
643  if(moduleswitchlocaloccupancy && mod_single.ModuleLocalOccupancy ){ // Occupancy
644  mod_single.ModuleLocalOccupancy->Fill(local_occupancy);
645  }
646  }
647  if (layerswitchlocaloccupancy && found_layer_me && layer_single.LayerLocalOccupancy) {
648  fillME(layer_single.LayerLocalOccupancy,local_occupancy);
649  if (createTrendMEs) fillME(layer_single.LayerLocalOccupancyTrend,iOrbitSec,local_occupancy);
650  }
651  }
652  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
653  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.totNClusters += ncluster_layer;
654  }
655 
656  // EventHistory
657  edm::Handle<EventWithHistory> event_history;
658  iEvent.getByLabel(historyProducer_,event_history);
659 
660  // Phase of APV
661  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
662  iEvent.getByLabel(apvPhaseProducer_,apv_phase_collection);
663 
664  if (event_history.isValid()
665  && !event_history.failedToGet()
666  && apv_phase_collection.isValid()
667  && !apv_phase_collection.failedToGet()) {
668 
669 
670  long long dbx = event_history->deltaBX();
671  long long tbx = event_history->absoluteBX();
672 
673  bool global_histo_filled = false;
674  bool MultiplicityRegion_Vs_APVcycle_filled=false;
675 
676  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
677  it != SubDetMEsMap.end(); it++) {
678  std::string sdet = it->first;
679  //std::string sdet = sdet_tag.substr(0,sdet_tag.find_first_of("_"));
680  SubDetMEs sdetmes = it->second;
681 
682  int the_phase = APVCyclePhaseCollection::invalid;
683  long long tbx_corr = tbx;
684 
685  if (SubDetPhasePartMap.find(sdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[sdet]);
686  if(the_phase==APVCyclePhaseCollection::nopartition ||
689  the_phase=30;
690  //std::cout << " subdet " << it->first << " not valid" << " MR " << MultiplicityRegion <<std::endl;
691  }
692  tbx_corr -= the_phase;
693  long long dbxincycle = event_history->deltaBXinCycle(the_phase);
694  if (globalswitchapvcycledbxth2on && !global_histo_filled) {
695  GlobalApvCycleDBxTH2->Fill(tbx_corr%70,dbx);
696  global_histo_filled = true;
697  }
698 
699  if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled){
700  if (globalswitchstripnoise2apvcycle && MultiplicityRegion==2) {StripNoise2Cycle->Fill(tbx_corr%70);}
701  if (globalswitchstripnoise3apvcycle && MultiplicityRegion==3) {StripNoise3Cycle->Fill(tbx_corr%70);}
702  MultiplicityRegion_Vs_APVcycle_filled=true;
703  }
704 
706  sdetmes.SubDetTotClusterTH1->Fill(sdetmes.totNClusters);
708  sdetmes.SubDetTotClusterProf->Fill(iOrbitSec,sdetmes.totNClusters);
710  sdetmes.SubDetClusterApvProf->Fill(tbx_corr%70,sdetmes.totNClusters);
712  sdetmes.SubDetClusterApvTH2->Fill(tbx_corr%70,sdetmes.totNClusters);
714  sdetmes.SubDetClusterDBxCycleProf->Fill(dbxincycle,sdetmes.totNClusters);
716  sdetmes.SubDetApvDBxProf2->Fill(tbx_corr%70,dbx,sdetmes.totNClusters);
717  }
718  }
719 }
RunNumber_t run() const
Definition: EventID.h:42
int FindRegion(int nstrip, int npixel)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * PixVsStripMultiplicityRegions
MonitorElement * GlobalCStripVsCpix
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
#define NULL
Definition: scimark2.h:8
MonitorElement * StripNoise2Cycle
data_type const * const_iterator
Definition: DetSetNew.h:25
std::map< std::string, LayerMEs > LayerMEsMap
bool isRealData() const
Definition: EventBase.h:60
std::map< std::string, std::vector< uint32_t > > LayerDetMap
dictionary map
Definition: Association.py:205
void Fill(long long x)
MonitorElement * NumberOfPixelClus
std::map< uint32_t, ModMEs > ModuleMEsMap
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * GlobalApvCycleDBxTH2
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
T sqrt(T t)
Definition: SSEVec.h:48
void fill(uint32_t &detid, float value)
Definition: TkHistoMap.cc:130
void fillLayerMEs(LayerMEs &, ClusterProperties &cluster, float timeinorbit)
bool accept(const edm::Event &event, const edm::EventSetup &setup)
To be called from analyze/filter() methods.
data_type const * data(size_t cell) const
std::pair< ContainerIterator, ContainerIterator > Range
int orbitNumber() const
Definition: EventBase.h:63
MonitorElement * NumberOfStripClus
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
MonitorElement * GlobalMainDiagonalPosition
SiStripDCSStatus * dcsStatus_
bool failedToGet() const
Definition: HandleBase.h:80
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
void fillME(MonitorElement *ME, float value1)
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
T const * product() const
Definition: Handle.h:74
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
MonitorElement * StripNoise3Cycle
edm::EventID id() const
Definition: EventBase.h:56
iterator end()
Definition: DetSetNew.h:59
std::map< std::string, SubDetMEs > SubDetMEsMap
std::pair< ContainerIterator, ContainerIterator > Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:41
size_type size() const
Definition: DetSetNew.h:75
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
int size() const
iterator begin()
Definition: DetSetNew.h:56
void SiStripMonitorCluster::beginRun ( const edm::Run run,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 202 of file SiStripMonitorCluster.cc.

References createMEs(), genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, edm::EventSetup::get(), GenericTriggerEventFlag::initRun(), m_cacheID_, ModuleMEsMap, GenericTriggerEventFlag::on(), reset_each_run, ResetModuleMEs(), and show_mechanical_structure_view.

202  {
203 
204  // Initialize the GenericTriggerEventFlag
211 
213  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
214  if (m_cacheID_ != cacheID) {
215  m_cacheID_ = cacheID;
216  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::beginRun: "
217  << " Creating MEs for new Cabling ";
218 
219  createMEs(es);
220  }
221  } else if (reset_each_run) {
222  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::beginRun: "
223  << " Resetting MEs ";
224  for (std::map<uint32_t, ModMEs >::const_iterator idet = ModuleMEsMap.begin() ; idet!=ModuleMEsMap.end() ; idet++) {
225  ResetModuleMEs(idet->first);
226  }
227  }
228 }
void ResetModuleMEs(uint32_t idet)
void createMEs(const edm::EventSetup &es)
unsigned long long m_cacheID_
std::map< uint32_t, ModMEs > ModuleMEsMap
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
const T & get() const
Definition: EventSetup.h:55
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
MonitorElement * SiStripMonitorCluster::bookME1D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 1105 of file SiStripMonitorCluster.cc.

References DQMStore::book1D(), conf_, dqmStore_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), createModuleMEs(), and createSubDetMEs().

1106 {
1107  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1109  Parameters.getParameter<int32_t>("Nbinx"),
1110  Parameters.getParameter<double>("xmin"),
1111  Parameters.getParameter<double>("xmax")
1112  );
1113 }
T getParameter(std::string const &) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorCluster::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 1084 of file SiStripMonitorCluster.cc.

References DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), and MonitorElement::setAxisTitle().

Referenced by createLayerMEs().

1085 {
1086  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1087  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
1089  ParametersTrend.getParameter<int32_t>("Nbins"),
1090  // 0,
1091  ParametersTrend.getParameter<double>("xmin"),
1092  ParametersTrend.getParameter<double>("xmax"),
1093  // ParametersTrend.getParameter<int32_t>("Nbins"),
1094  100, //that parameter should not be there !?
1095  ParametersTrend.getParameter<double>("ymin"),
1096  ParametersTrend.getParameter<double>("ymax"),
1097  "" );
1098  if(!me) return me;
1099  me->setAxisTitle("Event Time in Seconds",1);
1100  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
1101  return me;
1102 }
T getParameter(std::string const &) const
vector< ParameterSet > Parameters
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string HistoName
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorCluster::createLayerMEs ( std::string  label,
int  ndets 
)
private

Definition at line 851 of file SiStripMonitorCluster.cc.

References bookME1D(), bookMETrend(), DQMStore::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, dqmStore_, diffTwoXMLs::label, SiStripMonitorCluster::LayerMEs::LayerClusterCharge, SiStripMonitorCluster::LayerMEs::LayerClusterChargeTrend, SiStripMonitorCluster::LayerMEs::LayerClusterNoise, SiStripMonitorCluster::LayerMEs::LayerClusterNoiseTrend, SiStripMonitorCluster::LayerMEs::LayerClusterStoN, SiStripMonitorCluster::LayerMEs::LayerClusterStoNTrend, SiStripMonitorCluster::LayerMEs::LayerClusterWidth, SiStripMonitorCluster::LayerMEs::LayerClusterWidthProfile, SiStripMonitorCluster::LayerMEs::LayerClusterWidthTrend, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancy, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancyTrend, LayerMEsMap, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterProfile, layerswitchcluschargeon, layerswitchclusnoiseon, layerswitchclusstonon, layerswitchclusterwidthprofon, layerswitchcluswidthon, layerswitchlocaloccupancy, layerswitchnumclusterprofon, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by createMEs().

851  {
852 
853  SiStripHistoId hidmanager;
854 
855  LayerMEs layerMEs;
856  layerMEs.LayerClusterStoN = 0;
857  layerMEs.LayerClusterStoNTrend = 0;
858  layerMEs.LayerClusterCharge = 0;
859  layerMEs.LayerClusterChargeTrend = 0;
860  layerMEs.LayerClusterNoise = 0;
861  layerMEs.LayerClusterNoiseTrend = 0;
862  layerMEs.LayerClusterWidth = 0;
863  layerMEs.LayerClusterWidthTrend = 0;
864  layerMEs.LayerLocalOccupancy = 0;
865  layerMEs.LayerLocalOccupancyTrend = 0;
866  layerMEs.LayerNumberOfClusterProfile = 0;
867  layerMEs.LayerClusterWidthProfile = 0;
868 
869  //Cluster Width
871  layerMEs.LayerClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth","layer",label,"").c_str());
872  if (createTrendMEs) layerMEs.LayerClusterWidthTrend=bookMETrend("TH1ClusterWidth", hidmanager.createHistoLayer("Trend_ClusterWidth","layer",label,"").c_str());
873  }
874 
875  //Cluster Noise
877  layerMEs.LayerClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise","layer",label,"").c_str());
878  if (createTrendMEs) layerMEs.LayerClusterNoiseTrend=bookMETrend("TH1ClusterNoise", hidmanager.createHistoLayer("Trend_ClusterNoise","layer",label,"").c_str());
879  }
880 
881  //Cluster Charge
883  layerMEs.LayerClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge","layer",label,"").c_str());
884  if (createTrendMEs) layerMEs.LayerClusterChargeTrend=bookMETrend("TH1ClusterCharge", hidmanager.createHistoLayer("Trend_ClusterCharge","layer",label,"").c_str());
885  }
886 
887  //Cluster StoN
889  layerMEs.LayerClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterSignalOverNoise","layer",label,"").c_str());
890  if (createTrendMEs) layerMEs.LayerClusterStoNTrend=bookMETrend("TH1ClusterStoN", hidmanager.createHistoLayer("Trend_ClusterSignalOverNoise","layer",label,"").c_str());
891  }
892 
893  //Cluster Occupancy
895  layerMEs.LayerLocalOccupancy=bookME1D("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Summary_ClusterLocalOccupancy","layer",label,"").c_str());
896  if (createTrendMEs) layerMEs.LayerLocalOccupancyTrend=bookMETrend("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Trend_ClusterLocalOccupancy","layer",label,"").c_str());
897 
898  }
899 
900  // # of Cluster Profile
902  std::string hid = hidmanager.createHistoLayer("NumberOfClusterProfile","layer",label,"");
903  layerMEs.LayerNumberOfClusterProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 20.5);
904  }
905 
906  // Cluster Width Profile
908  std::string hid = hidmanager.createHistoLayer("ClusterWidthProfile","layer",label,"");
909  layerMEs.LayerClusterWidthProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 20, -0.5, 19.5);
910  }
911 
912  LayerMEsMap[label]=layerMEs;
913 }
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName)
std::map< std::string, LayerMEs > LayerMEsMap
MonitorElement * bookMETrend(const char *, const char *)
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void SiStripMonitorCluster::createMEs ( const edm::EventSetup es)
private

Definition at line 231 of file SiStripMonitorCluster.cc.

References abs, DQMStore::book1D(), DQMStore::book2D(), ClusterHisto_, clustertkhistomapon, conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), cond::rpcobgas::detid, dqmStore_, edm::EventSetup::get(), edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), GlobalApvCycleDBxTH2, GlobalCStripVsCpix, GlobalMainDiagonalPosition, globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, diffTwoXMLs::label, LayerDetMap, LayerMEsMap, Mod_On_, ModuleMEsMap, NumberOfPixelClus, NumberOfStripClus, PixVsStripMultiplicityRegions, edm::ESHandle< class >::product(), reset_each_run, ResetModuleMEs(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripFolderOrganizer::setSiStripFolder(), SiStripFolderOrganizer::setSiStripFolderName(), show_mechanical_structure_view, SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, StripNoise2Cycle, StripNoise3Cycle, SubDetMEsMap, tkmapcluster, and topFolderName_.

Referenced by beginRun().

231  {
232 
234 
235  //Retrieve tracker topology from geometry
236  edm::ESHandle<TrackerTopology> tTopoHandle;
237  es.get<IdealGeometryRecord>().get(tTopoHandle);
238  const TrackerTopology* const tTopo = tTopoHandle.product();
239 
240  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
242 
243  // get list of active detectors from SiStripDetCabling
244  std::vector<uint32_t> activeDets;
245  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
246 
247  SiStripSubStructure substructure;
248 
249  SiStripFolderOrganizer folder_organizer;
250  folder_organizer.setSiStripFolderName(topFolderName_);
251  folder_organizer.setSiStripFolder();
252 
253 
254  // Create TkHistoMap for Cluster
255  if (clustertkhistomapon) {
256  if (topFolderName_ == "SiStrip") tkmapcluster = new TkHistoMap("SiStrip/TkHistoMap","TkHMap_NumberOfCluster",0.,1);
257  else tkmapcluster = new TkHistoMap(topFolderName_+"/TkHistoMap","TkHMap_NumberOfCluster",0.,0);
258  }
259 
260  // loop over detectors and book MEs
261  edm::LogInfo("SiStripTkDQM|SiStripMonitorCluster")<<"nr. of activeDets: "<<activeDets.size();
262  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
263  uint32_t detid = (*detid_iterator);
264  // remove any eventual zero elements - there should be none, but just in case
265  if(detid == 0) {
266  activeDets.erase(detid_iterator);
267  continue;
268  }
269 
270  if (Mod_On_) {
271  ModMEs mod_single;
272  // set appropriate folder using SiStripFolderOrganizer
273  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
274  if (reset_each_run) ResetModuleMEs(detid);
275  createModuleMEs(mod_single, detid);
276  // append to ModuleMEsMap
277  ModuleMEsMap.insert( std::make_pair(detid, mod_single));
278  }
279 
280  // Create Layer Level MEs if they are not created already
281  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
282  SiStripHistoId hidmanager;
283  std::string label = hidmanager.getSubdetid(detid,tTopo,false);
284 
285  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
286  if(iLayerME==LayerMEsMap.end()) {
287 
288  // get detids for the layer
289  int32_t lnumber = det_layer_pair.second;
290  std::vector<uint32_t> layerDetIds;
291  if (det_layer_pair.first == "TIB") {
292  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
293  } else if (det_layer_pair.first == "TOB") {
294  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
295  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
296  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
297  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
298  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
299  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
300  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
301  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
302  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
303  }
304  LayerDetMap[label] = layerDetIds;
305 
306  // book Layer MEs
307  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second);
308  createLayerMEs(label, layerDetIds.size());
309  }
310  // book sub-detector plots
311  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
312  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
313  dqmStore_->setCurrentFolder(sdet_pair.first);
314  createSubDetMEs(sdet_pair.second);
315  }
316  }//end of loop over detectors
317 
318  // Create Global Histogram
320  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
321  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2ApvCycleVsDBxGlobal");
322  std::string HistoName = "DeltaBx_vs_ApvCycle";
323  GlobalApvCycleDBxTH2 = dqmStore_->book2D(HistoName,HistoName,
324  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
325  GlobalTH2Parameters.getParameter<double>("xmin"),
326  GlobalTH2Parameters.getParameter<double>("xmax"),
327  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
328  GlobalTH2Parameters.getParameter<double>("ymin"),
329  GlobalTH2Parameters.getParameter<double>("ymax"));
330  GlobalApvCycleDBxTH2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
331  GlobalApvCycleDBxTH2->setAxisTitle("Delta Bunch Crossing Cycle",2);
332  }
333 
335  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
336  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2CStripVsCpixel");
337  std::string HistoName = "StripClusVsPixClus";
338  GlobalCStripVsCpix = dqmStore_->book2D(HistoName,HistoName,
339  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
340  GlobalTH2Parameters.getParameter<double>("xmin"),
341  GlobalTH2Parameters.getParameter<double>("xmax"),
342  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
343  GlobalTH2Parameters.getParameter<double>("ymin"),
344  GlobalTH2Parameters.getParameter<double>("ymax"));
345  GlobalCStripVsCpix->setAxisTitle("Strip Clusters",1);
346  GlobalCStripVsCpix->setAxisTitle("Pix Clusters",2);
347  }
348 
350  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
351  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH1MultiplicityRegions");
352  std::string HistoName = "ClusterMultiplicityRegions";
353  PixVsStripMultiplicityRegions = dqmStore_->book1D(HistoName,HistoName,
354  GlobalTH2Parameters.getParameter<int32_t>("Nbinx"),
355  GlobalTH2Parameters.getParameter<double>("xmin"),
356  GlobalTH2Parameters.getParameter<double>("xmax"));
358  PixVsStripMultiplicityRegions->setBinLabel(1,"Main Diagonal");
359  PixVsStripMultiplicityRegions->setBinLabel(2,"Strip Noise");
360  PixVsStripMultiplicityRegions->setBinLabel(3,"High Strip Noise");
361  PixVsStripMultiplicityRegions->setBinLabel(4,"Beam Background");
362  PixVsStripMultiplicityRegions->setBinLabel(5,"No Strip Clusters");
363  }
364 
366  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
367  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1MainDiagonalPosition");
368  std::string HistoName = "MainDiagonal Position";
369  GlobalMainDiagonalPosition = dqmStore_->book1D(HistoName,HistoName,
370  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
371  GlobalTH1Parameters.getParameter<double>("xmin"),
372  GlobalTH1Parameters.getParameter<double>("xmax"));
373  GlobalMainDiagonalPosition->setAxisTitle("atan(NPix/(k*NStrip))");
374  }
375 
376  // TO BE ADDED !!!
377  /*
378  if ( globalswitchapvcycledbxth2on or globalswitchcstripvscpix or globalswitchMultiRegions or ClusterHisto_ ) {
379  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
380  std::string HistoName = "BPTX rate";
381  BPTXrateTrend = dqmStore_->bookProfile(HistoName,HistoName, LSBin, LSMin, LSMax, 0, 10000.,"");
382  BPTXrateTrend->getTH1()->SetBit(TH1::kCanRebin);
383  BPTXrateTrend->setAxisTitle("#Lumi section",1);
384  BPTXrateTrend->setAxisTitle("Number of BPTX events per LS",2);
385  }
386  */
387 
389  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
390  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise2ApvCycle");
391  std::string HistoName = "StripNoise_ApvCycle";
392  StripNoise2Cycle = dqmStore_->book1D(HistoName,HistoName,
393  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
394  GlobalTH1Parameters.getParameter<double>("xmin"),
395  GlobalTH1Parameters.getParameter<double>("xmax"));
396  StripNoise2Cycle->setAxisTitle("APV Cycle");
397  }
398 
400  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
401  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise3ApvCycle");
402  std::string HistoName = "HighStripNoise_ApvCycle";
403  StripNoise3Cycle = dqmStore_->book1D(HistoName,HistoName,
404  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
405  GlobalTH1Parameters.getParameter<double>("xmin"),
406  GlobalTH1Parameters.getParameter<double>("xmax"));
407  StripNoise3Cycle->setAxisTitle("APV Cycle");
408  }
409 
410  if (ClusterHisto_){
411  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
412  edm::ParameterSet PixelCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusPx");
413  std::string HistoName = "NumberOfClustersInPixel";
414  NumberOfPixelClus = dqmStore_->book1D(HistoName, HistoName,
415  PixelCluster.getParameter<int32_t>("Nbinsx"),
416  PixelCluster.getParameter<double>("xmin"),
417  PixelCluster.getParameter<double>("xmax"));
418  NumberOfPixelClus->setAxisTitle("# of Clusters in Pixel", 1);
419  NumberOfPixelClus->setAxisTitle("Number of Events", 2);
420  //
421  edm::ParameterSet StripCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusStrip");
422  HistoName = "NumberOfClustersInStrip";
423  NumberOfStripClus = dqmStore_->book1D(HistoName, HistoName,
424  StripCluster.getParameter<int32_t>("Nbinsx"),
425  StripCluster.getParameter<double>("xmin"),
426  StripCluster.getParameter<double>("xmax"));
427  NumberOfStripClus->setAxisTitle("# of Clusters in Strip", 1);
428  NumberOfStripClus->setAxisTitle("Number of Events", 2);
429  }
430 
431 
432  }//end of if
433 }//end of method
void ResetModuleMEs(uint32_t idet)
T getParameter(std::string const &) const
void setSiStripFolderName(std::string name)
MonitorElement * PixVsStripMultiplicityRegions
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * GlobalCStripVsCpix
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)
#define abs(x)
Definition: mlp_lapack.h:159
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
MonitorElement * StripNoise2Cycle
std::map< std::string, LayerMEs > LayerMEsMap
std::map< std::string, std::vector< uint32_t > > LayerDetMap
MonitorElement * NumberOfPixelClus
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
std::map< uint32_t, ModMEs > ModuleMEsMap
void createSubDetMEs(std::string label)
MonitorElement * GlobalApvCycleDBxTH2
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
void createModuleMEs(ModMEs &mod_single, uint32_t detid)
MonitorElement * NumberOfStripClus
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
MonitorElement * GlobalMainDiagonalPosition
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
std::string HistoName
MonitorElement * StripNoise3Cycle
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0) const
void createLayerMEs(std::string label, int ndets)
std::map< std::string, SubDetMEs > SubDetMEsMap
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
void SiStripMonitorCluster::createModuleMEs ( ModMEs mod_single,
uint32_t  detid 
)
private

Definition at line 751 of file SiStripMonitorCluster.cc.

References DQMStore::book1D(), bookME1D(), DQMStore::bookProfile(), SiStripMonitorCluster::ModMEs::ClusterCharge, SiStripMonitorCluster::ModMEs::ClusterDigiPosition, SiStripMonitorCluster::ModMEs::ClusterNoise, SiStripMonitorCluster::ModMEs::ClusterPosition, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoise, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoiseVsPos, SiStripMonitorCluster::ModMEs::ClusterWidth, conf_, SiStripHistoId::createHistoId(), dqmStore_, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, SiStripMonitorCluster::ModMEs::NumberOfClusters, MonitorElement::setAxisTitle(), SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::tag().

Referenced by createMEs().

751  {
752 
753  // use SistripHistoId for producing histogram id (and title)
754  SiStripHistoId hidmanager;
755  std::string hid;
756 
757  //nr. of clusters per module
758  if(moduleswitchncluson) {
759  hid = hidmanager.createHistoId("NumberOfClusters","det",detid);
760  mod_single.NumberOfClusters = bookME1D("TH1nClusters", hid.c_str());
761  dqmStore_->tag(mod_single.NumberOfClusters, detid);
762  mod_single.NumberOfClusters->setAxisTitle("number of clusters in one detector module");
763  mod_single.NumberOfClusters->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
764  }
765 
766  //ClusterPosition
768  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
769  hid = hidmanager.createHistoId("ClusterPosition","det",detid);
770  mod_single.ClusterPosition = dqmStore_->book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
771  dqmStore_->tag(mod_single.ClusterPosition, detid);
772  mod_single.ClusterPosition->setAxisTitle("cluster position [strip number +0.5]");
773  }
774 
775  //ClusterDigiPosition
777  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
778  hid = hidmanager.createHistoId("ClusterDigiPosition","det",detid);
779  mod_single.ClusterDigiPosition = dqmStore_->book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
780  dqmStore_->tag(mod_single.ClusterDigiPosition, detid);
781  mod_single.ClusterDigiPosition->setAxisTitle("digi in cluster position [strip number +0.5]");
782  }
783 
784  //ClusterWidth
786  hid = hidmanager.createHistoId("ClusterWidth","det",detid);
787  mod_single.ClusterWidth = bookME1D("TH1ClusterWidth", hid.c_str());
788  dqmStore_->tag(mod_single.ClusterWidth, detid);
789  mod_single.ClusterWidth->setAxisTitle("cluster width [nr strips]");
790  }
791 
792  //ClusterCharge
794  hid = hidmanager.createHistoId("ClusterCharge","det",detid);
795  mod_single.ClusterCharge = bookME1D("TH1ClusterCharge", hid.c_str());
796  dqmStore_->tag(mod_single.ClusterCharge, detid);
797  mod_single.ClusterCharge->setAxisTitle("cluster charge [ADC]");
798  }
799 
800  //ClusterNoise
802  hid = hidmanager.createHistoId("ClusterNoise","det",detid);
803  mod_single.ClusterNoise = bookME1D("TH1ClusterNoise", hid.c_str());
804  dqmStore_->tag(mod_single.ClusterNoise, detid);
805  mod_single.ClusterNoise->setAxisTitle("cluster noise");
806  }
807 
808  //ClusterSignalOverNoise
810  hid = hidmanager.createHistoId("ClusterSignalOverNoise","det",detid);
811  mod_single.ClusterSignalOverNoise = bookME1D("TH1ClusterStoN", hid.c_str());
812  dqmStore_->tag(mod_single.ClusterSignalOverNoise, detid);
813  mod_single.ClusterSignalOverNoise->setAxisTitle("ratio of signal to noise for each cluster");
814  }
815 
816  //ClusterSignalOverNoiseVsPos
818  hid = hidmanager.createHistoId("ClusterSignalOverNoiseVsPos","det",detid);
819  Parameters = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNVsPos");
820  mod_single.ClusterSignalOverNoiseVsPos= dqmStore_->bookProfile(hid.c_str(),hid.c_str(),
821  Parameters.getParameter<int32_t>("Nbinx"),
822  Parameters.getParameter<double>("xmin"),
823  Parameters.getParameter<double>("xmax"),
824  Parameters.getParameter<int32_t>("Nbiny"),
825  Parameters.getParameter<double>("ymin"),
826  Parameters.getParameter<double>("ymax")
827  );
828  dqmStore_->tag(mod_single.ClusterSignalOverNoiseVsPos, detid);
829  mod_single.ClusterSignalOverNoiseVsPos->setAxisTitle("pos");
830  }
831 
832  //ModuleLocalOccupancy
834  hid = hidmanager.createHistoId("ClusterLocalOccupancy","det",detid);
835  mod_single.ModuleLocalOccupancy = bookME1D("TH1ModuleLocalOccupancy", hid.c_str());
836  dqmStore_->tag(mod_single.ModuleLocalOccupancy, detid);
837  mod_single.ModuleLocalOccupancy->setAxisTitle("module local occupancy [% of clusterized strips]");
838  }
839 
840  //NrOfClusterizedStrips
842  hid = hidmanager.createHistoId("NrOfClusterizedStrips","det",detid);
843  mod_single.NrOfClusterizedStrips = bookME1D("TH1NrOfClusterizedStrips", hid.c_str());
844  dqmStore_->tag(mod_single.NrOfClusterizedStrips, detid);
845  mod_single.NrOfClusterizedStrips->setAxisTitle("number of clusterized strips");
846  }
847 }
T getParameter(std::string const &) const
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1359
vector< ParameterSet > Parameters
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
void SiStripMonitorCluster::createSubDetMEs ( std::string  label)
private

Definition at line 917 of file SiStripMonitorCluster.cc.

References DQMStore::book2D(), bookME1D(), DQMStore::bookProfile(), DQMStore::bookProfile2D(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), MonitorElement::kind(), diffTwoXMLs::label, MonitorElement::setAxisTitle(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripMonitorCluster::SubDetMEs::SubDetApvDBxProf2, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvProf, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvTH2, SiStripMonitorCluster::SubDetMEs::SubDetClusterDBxCycleProf, SubDetMEsMap, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterProf, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterTH1, and SiStripMonitorCluster::SubDetMEs::totNClusters.

Referenced by createMEs().

917  {
918 
919  SubDetMEs subdetMEs;
920  subdetMEs.totNClusters = 0;
921  subdetMEs.SubDetTotClusterTH1 = 0;
922  subdetMEs.SubDetTotClusterProf = 0;
923  subdetMEs.SubDetClusterApvProf = 0;
924  subdetMEs.SubDetClusterApvTH2 = 0;
925  subdetMEs.SubDetClusterDBxCycleProf = 0;
926  subdetMEs.SubDetApvDBxProf2 = 0;
927 
929  // Total Number of Cluster - 1D
931  HistoName = "TotalNumberOfCluster__" + label;
932  subdetMEs.SubDetTotClusterTH1 = bookME1D("TH1TotalNumberOfClusters",HistoName.c_str());
933  subdetMEs.SubDetTotClusterTH1->setAxisTitle("Total number of clusters in subdetector");
934  subdetMEs.SubDetTotClusterTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
935  }
936  // Total Number of Cluster vs Time - Profile
938  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfClusters");
939  HistoName = "TotalNumberOfClusterProfile__" + label;
940  subdetMEs.SubDetTotClusterProf = dqmStore_->bookProfile(HistoName,HistoName,
941  Parameters.getParameter<int32_t>("Nbins"),
942  Parameters.getParameter<double>("xmin"),
943  Parameters.getParameter<double>("xmax"),
944  100, //that parameter should not be there !?
945  Parameters.getParameter<double>("ymin"),
946  Parameters.getParameter<double>("ymax"),
947  "" );
948  subdetMEs.SubDetTotClusterProf->setAxisTitle("Event Time (Seconds)",1);
949  if (subdetMEs.SubDetTotClusterProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotClusterProf->getTH1()->SetBit(TH1::kCanRebin);
950  }
951  // Total Number of Cluster vs APV cycle - Profile
953  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
954  HistoName = "Cluster_vs_ApvCycle__" + label;
955  subdetMEs.SubDetClusterApvProf=dqmStore_->bookProfile(HistoName,HistoName,
956  Parameters.getParameter<int32_t>("Nbins"),
957  Parameters.getParameter<double>("xmin"),
958  Parameters.getParameter<double>("xmax"),
959  200, //that parameter should not be there !?
960  Parameters.getParameter<double>("ymin"),
961  Parameters.getParameter<double>("ymax"),
962  "" );
963  subdetMEs.SubDetClusterApvProf->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70)",1);
964  }
965 
966  // Total Number of Clusters vs ApvCycle - 2D
968  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
969  HistoName = "Cluster_vs_ApvCycle_2D__" + label;
970  // Adjusting the scale for 2D histogram
971  double h2ymax = 9999.0;
972  double yfact = Parameters.getParameter<double>("yfactor");
973  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
974  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
975  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
976  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
977 
978  subdetMEs.SubDetClusterApvTH2=dqmStore_->book2D(HistoName,HistoName,
979  Parameters.getParameter<int32_t>("Nbinsx"),
980  Parameters.getParameter<double>("xmin"),
981  Parameters.getParameter<double>("xmax"),
982  Parameters.getParameter<int32_t>("Nbinsy"),
983  Parameters.getParameter<double>("ymin"),
984  h2ymax);
985  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70))",1);
986  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Total # of Clusters",2);
987 
988  }
989  // Total Number of Cluster vs DeltaBxCycle - Profile
991  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
992  HistoName = "Cluster_vs_DeltaBxCycle__" + label;
993  subdetMEs.SubDetClusterDBxCycleProf = dqmStore_->bookProfile(HistoName,HistoName,
994  Parameters.getParameter<int32_t>("Nbins"),
995  Parameters.getParameter<double>("xmin"),
996  Parameters.getParameter<double>("xmax"),
997  200, //that parameter should not be there !?
998  Parameters.getParameter<double>("ymin"),
999  Parameters.getParameter<double>("ymax"),
1000  "" );
1001  subdetMEs.SubDetClusterDBxCycleProf->setAxisTitle("Delta Bunch Crossing Cycle",1);
1002  }
1003  // DeltaBx vs ApvCycle - 2DProfile
1005  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
1006  HistoName = "DeltaBx_vs_ApvCycle__" + label;
1007  subdetMEs.SubDetApvDBxProf2 = dqmStore_->bookProfile2D(HistoName,HistoName,
1008  Parameters.getParameter<int32_t>("Nbinsx"),
1009  Parameters.getParameter<double>("xmin"),
1010  Parameters.getParameter<double>("xmax"),
1011  Parameters.getParameter<int32_t>("Nbinsy"),
1012  Parameters.getParameter<double>("ymin"),
1013  Parameters.getParameter<double>("ymax"),
1014  Parameters.getParameter<double>("zmin"),
1015  Parameters.getParameter<double>("zmax"),
1016  "" );
1017  subdetMEs.SubDetApvDBxProf2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
1018  subdetMEs.SubDetApvDBxProf2->setAxisTitle("Delta Bunch Crossing Cycle",2);
1019  }
1020  SubDetMEsMap[label]=subdetMEs;
1021 }
T getParameter(std::string const &) const
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName)
vector< ParameterSet > Parameters
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
std::string HistoName
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1180
void SiStripMonitorCluster::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 723 of file SiStripMonitorCluster.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), dumpDBToFile_GT_ttrig_cfg::outputFileName, DQMStore::save(), and AlCaHLTBitMon_QueryRunRegistry::string.

723  {
724  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
726 
727  // save histos in a file
728  if(outputMEsInRootFile) dqmStore_->save(outputFileName);
729 }
T getParameter(std::string const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
void SiStripMonitorCluster::fillLayerMEs ( LayerMEs layerMEs,
ClusterProperties cluster,
float  timeinorbit 
)
private

Definition at line 1061 of file SiStripMonitorCluster.cc.

References SiStripMonitorCluster::ClusterProperties::charge, createTrendMEs, fillME(), SiStripMonitorCluster::LayerMEs::LayerClusterCharge, SiStripMonitorCluster::LayerMEs::LayerClusterChargeTrend, SiStripMonitorCluster::LayerMEs::LayerClusterNoise, SiStripMonitorCluster::LayerMEs::LayerClusterNoiseTrend, SiStripMonitorCluster::LayerMEs::LayerClusterStoN, SiStripMonitorCluster::LayerMEs::LayerClusterStoNTrend, SiStripMonitorCluster::LayerMEs::LayerClusterWidth, SiStripMonitorCluster::LayerMEs::LayerClusterWidthTrend, layerswitchcluschargeon, layerswitchclusnoiseon, layerswitchclusstonon, layerswitchcluswidthon, SiStripMonitorCluster::ClusterProperties::noise, and SiStripMonitorCluster::ClusterProperties::width.

Referenced by analyze().

1061  {
1062  if(layerswitchclusstonon) {
1063  fillME(layerMEs.LayerClusterStoN ,cluster.charge/cluster.noise);
1064  if (createTrendMEs) fillME(layerMEs.LayerClusterStoNTrend,timeinorbit,cluster.charge/cluster.noise);
1065  }
1066 
1068  fillME(layerMEs.LayerClusterCharge,cluster.charge);
1069  if (createTrendMEs) fillME(layerMEs.LayerClusterChargeTrend,timeinorbit,cluster.charge);
1070  }
1071 
1073  fillME(layerMEs.LayerClusterNoise ,cluster.noise);
1074  if (createTrendMEs) fillME(layerMEs.LayerClusterNoiseTrend,timeinorbit,cluster.noise);
1075  }
1076 
1078  fillME(layerMEs.LayerClusterWidth ,cluster.width);
1079  if (createTrendMEs) fillME(layerMEs.LayerClusterWidthTrend,timeinorbit,cluster.width);
1080  }
1081 
1082 }
void fillME(MonitorElement *ME, float value1)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 111 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

Referenced by analyze(), and fillLayerMEs().

111 {if (ME!=0)ME->Fill(value1);}
void Fill(long long x)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 112 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

112 {if (ME!=0)ME->Fill(value1,value2);}
void Fill(long long x)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 113 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

113 {if (ME!=0)ME->Fill(value1,value2,value3);}
void Fill(long long x)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 114 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

114 {if (ME!=0)ME->Fill(value1,value2,value3,value4);}
void Fill(long long x)
void SiStripMonitorCluster::fillModuleMEs ( ModMEs mod_mes,
ClusterProperties cluster 
)
private

Definition at line 1026 of file SiStripMonitorCluster.cc.

References SiStripMonitorCluster::ClusterProperties::charge, SiStripMonitorCluster::ModMEs::ClusterCharge, SiStripMonitorCluster::ModMEs::ClusterDigiPosition, SiStripMonitorCluster::ModMEs::ClusterNoise, SiStripMonitorCluster::ModMEs::ClusterPosition, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoise, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoiseVsPos, SiStripMonitorCluster::ModMEs::ClusterWidth, HcalObjRepresent::Fill(), moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, SiStripMonitorCluster::ClusterProperties::noise, SiStripMonitorCluster::ClusterProperties::position, SiStripMonitorCluster::ClusterProperties::start, and SiStripMonitorCluster::ClusterProperties::width.

Referenced by analyze().

1026  {
1027 
1028  if(moduleswitchclusposon && (mod_mes.ClusterPosition)) // position of cluster
1029  (mod_mes.ClusterPosition)->Fill(cluster.position);
1030 
1031  // position of digis in cluster
1032  if(moduleswitchclusdigiposon && (mod_mes.ClusterDigiPosition)) {
1033  for(int ipos=cluster.start+1; ipos<=cluster.start+cluster.width; ipos++){
1034  (mod_mes.ClusterDigiPosition)->Fill(ipos);
1035  }
1036  }
1037 
1038  if(moduleswitchcluswidthon && (mod_mes.ClusterWidth)) // width of cluster
1039  (mod_mes.ClusterWidth)->Fill(static_cast<float>(cluster.width));
1040 
1041  if(moduleswitchclusstonon && (mod_mes.ClusterSignalOverNoise)) {// SignalToNoise
1042  if (cluster.noise > 0)
1043  (mod_mes.ClusterSignalOverNoise)->Fill(cluster.charge/cluster.noise);
1044  }
1045 
1046  if(moduleswitchclusstonVsposon && (mod_mes.ClusterSignalOverNoiseVsPos)) {// SignalToNoise
1047  if (cluster.noise > 0)
1048  (mod_mes.ClusterSignalOverNoiseVsPos)->Fill(cluster.position,cluster.charge/cluster.noise);
1049  }
1050 
1051  if(moduleswitchclusnoiseon && (mod_mes.ClusterNoise)) // Noise
1052  (mod_mes.ClusterNoise)->Fill(cluster.noise);
1053 
1054  if(moduleswitchcluschargeon && (mod_mes.ClusterCharge)) // charge of cluster
1055  (mod_mes.ClusterCharge)->Fill(cluster.charge);
1056 
1057 }
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int SiStripMonitorCluster::FindRegion ( int  nstrip,
int  npixel 
)
private

Definition at line 1115 of file SiStripMonitorCluster.cc.

References dk0, k0, maxClus, minPix, and q0.

Referenced by analyze().

1115  {
1116 
1117  double kplus= k0*(1+dk0/100);
1118  double kminus=k0*(1-dk0/100);
1119  int region=0;
1120 
1121  if (nstrip!=0 && npix >= (nstrip*kminus-q0) && npix <=(nstrip*kplus+q0)) region=1;
1122  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip <= maxClus) region=2;
1123  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip > maxClus) region=3;
1124  else if (nstrip!=0 && npix > (nstrip*kplus+q0)) region=4;
1125  else if (npix > minPix && nstrip==0) region=5;
1126  return region;
1127 
1128 }
void SiStripMonitorCluster::ResetModuleMEs ( uint32_t  idet)
private

Definition at line 733 of file SiStripMonitorCluster.cc.

References SiStripMonitorCluster::ModMEs::ClusterCharge, SiStripMonitorCluster::ModMEs::ClusterDigiPosition, SiStripMonitorCluster::ModMEs::ClusterNoise, SiStripMonitorCluster::ModMEs::ClusterPosition, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoise, SiStripMonitorCluster::ModMEs::ClusterSignalOverNoiseVsPos, SiStripMonitorCluster::ModMEs::ClusterWidth, SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, ModuleMEsMap, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, SiStripMonitorCluster::ModMEs::NumberOfClusters, pos, and MonitorElement::Reset().

Referenced by beginRun(), and createMEs().

733  {
734  std::map<uint32_t, ModMEs >::iterator pos = ModuleMEsMap.find(idet);
735  ModMEs mod_me = pos->second;
736 
737  if (moduleswitchncluson) mod_me.NumberOfClusters->Reset();
738  if (moduleswitchclusposon) mod_me.ClusterPosition->Reset();
739  if (moduleswitchclusdigiposon) mod_me.ClusterDigiPosition->Reset();
740  if (moduleswitchclusstonVsposon) mod_me.ClusterSignalOverNoiseVsPos->Reset();
741  if (moduleswitchcluswidthon) mod_me.ClusterWidth->Reset();
742  if (moduleswitchcluschargeon) mod_me.ClusterCharge->Reset();
743  if (moduleswitchclusnoiseon) mod_me.ClusterNoise->Reset();
744  if (moduleswitchclusstonon) mod_me.ClusterSignalOverNoise->Reset();
745  if (moduleswitchlocaloccupancy) mod_me.ModuleLocalOccupancy->Reset();
746  if (moduleswitchnrclusterizedstrip) mod_me.NrOfClusterizedStrips->Reset();
747 }
std::map< uint32_t, ModMEs > ModuleMEsMap

Member Data Documentation

bool SiStripMonitorCluster::applyClusterQuality_
private

Definition at line 192 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

edm::InputTag SiStripMonitorCluster::apvPhaseProducer_
private

Definition at line 190 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::BPTXrateTrend = 0

Definition at line 97 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::ClusterHisto_
private

Definition at line 182 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

edm::InputTag SiStripMonitorCluster::clusterProducerPix_
private

Definition at line 188 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

edm::InputTag SiStripMonitorCluster::clusterProducerStrip_
private

Definition at line 187 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::clustertkhistomapon
private

Definition at line 178 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

edm::ParameterSet SiStripMonitorCluster::conf_
private
bool SiStripMonitorCluster::createTrendMEs
private
SiStripDCSStatus* SiStripMonitorCluster::dcsStatus_
private

Definition at line 204 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::dk0
private

Definition at line 200 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

DQMStore* SiStripMonitorCluster::dqmStore_
private
int SiStripMonitorCluster::eventNb
private

Definition at line 139 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

int SiStripMonitorCluster::firstEvent
private

Definition at line 140 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

GenericTriggerEventFlag* SiStripMonitorCluster::genTriggerEventFlagBPTXfilter_
private
GenericTriggerEventFlag* SiStripMonitorCluster::genTriggerEventFlagPixelDCSfilter_
private
GenericTriggerEventFlag* SiStripMonitorCluster::genTriggerEventFlagStripDCSfilter_
private
MonitorElement* SiStripMonitorCluster::GlobalApvCycleDBxTH2 = 0

Definition at line 88 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalCStripVsCpix = 0

Definition at line 89 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalMainDiagonalPosition = 0

Definition at line 91 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::globalswitchapvcycledbxth2on
private

Definition at line 175 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::globalswitchcstripvscpix
private

Definition at line 176 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::globalswitchmaindiagonalposition
private

Definition at line 157 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::globalswitchMultiRegions
private

Definition at line 177 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::globalswitchstripnoise2apvcycle
private

Definition at line 155 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::globalswitchstripnoise3apvcycle
private

Definition at line 156 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

edm::InputTag SiStripMonitorCluster::historyProducer_
private

Definition at line 189 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::k0
private

Definition at line 198 of file SiStripMonitorCluster.h.

Referenced by analyze(), FindRegion(), and SiStripMonitorCluster().

std::map<std::string, std::vector< uint32_t > > SiStripMonitorCluster::LayerDetMap
private

Definition at line 123 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 122 of file SiStripMonitorCluster.h.

Referenced by analyze(), createLayerMEs(), and createMEs().

bool SiStripMonitorCluster::layerswitchcluschargeon
private

Definition at line 143 of file SiStripMonitorCluster.h.

Referenced by createLayerMEs(), fillLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusdigiposon
private

Definition at line 147 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusnoiseon
private

Definition at line 148 of file SiStripMonitorCluster.h.

Referenced by createLayerMEs(), fillLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusposon
private

Definition at line 146 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusstonon
private

Definition at line 144 of file SiStripMonitorCluster.h.

Referenced by createLayerMEs(), fillLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusstonVsposon
private

Definition at line 145 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusterwidthprofon
private

Definition at line 153 of file SiStripMonitorCluster.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchcluswidthon
private

Definition at line 149 of file SiStripMonitorCluster.h.

Referenced by createLayerMEs(), fillLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchlocaloccupancy
private

Definition at line 150 of file SiStripMonitorCluster.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchncluson
private

Definition at line 142 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnrclusterizedstrip
private

Definition at line 151 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnumclusterprofon
private

Definition at line 152 of file SiStripMonitorCluster.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorCluster().

unsigned long long SiStripMonitorCluster::m_cacheID_
private

Definition at line 129 of file SiStripMonitorCluster.h.

Referenced by beginRun().

double SiStripMonitorCluster::maxClus
private

Definition at line 201 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

double SiStripMonitorCluster::minPix
private

Definition at line 202 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::Mod_On_
private

Definition at line 181 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and SiStripMonitorCluster().

std::map<uint32_t, ModMEs> SiStripMonitorCluster::ModuleMEsMap
private

Definition at line 121 of file SiStripMonitorCluster.h.

Referenced by analyze(), beginRun(), createMEs(), and ResetModuleMEs().

std::vector<uint32_t> SiStripMonitorCluster::ModulesToBeExcluded_
private

Definition at line 132 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::moduleswitchcluschargeon
private
bool SiStripMonitorCluster::moduleswitchclusdigiposon
private
bool SiStripMonitorCluster::moduleswitchclusnoiseon
private
bool SiStripMonitorCluster::moduleswitchclusposon
private
bool SiStripMonitorCluster::moduleswitchclusstonon
private
bool SiStripMonitorCluster::moduleswitchclusstonVsposon
private
bool SiStripMonitorCluster::moduleswitchcluswidthon
private
bool SiStripMonitorCluster::moduleswitchlocaloccupancy
private
bool SiStripMonitorCluster::moduleswitchncluson
private
bool SiStripMonitorCluster::moduleswitchnrclusterizedstrip
private
MonitorElement* SiStripMonitorCluster::NumberOfPixelClus = 0

Definition at line 94 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfStripClus = 0

Definition at line 95 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

edm::ParameterSet SiStripMonitorCluster::Parameters
private

Definition at line 134 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::passBPTXfilter_
private

Definition at line 211 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::passPixelDCSfilter_
private

Definition at line 212 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::passStripDCSfilter_
private

Definition at line 213 of file SiStripMonitorCluster.h.

Referenced by analyze().

MonitorElement* SiStripMonitorCluster::PixVsStripMultiplicityRegions = 0

Definition at line 90 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

double SiStripMonitorCluster::q0
private

Definition at line 199 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

std::string SiStripMonitorCluster::qualityLabel_
private

Definition at line 185 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::reset_each_run
private

Definition at line 128 of file SiStripMonitorCluster.h.

Referenced by beginRun(), and createMEs().

int SiStripMonitorCluster::runNb
private

Definition at line 139 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::select_all_detectors
private

Definition at line 128 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_control_view
private

Definition at line 128 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_mechanical_structure_view
private

Definition at line 128 of file SiStripMonitorCluster.h.

Referenced by beginRun(), and createMEs().

bool SiStripMonitorCluster::show_readout_view
private

Definition at line 128 of file SiStripMonitorCluster.h.

edm::ESHandle<SiStripDetCabling> SiStripMonitorCluster::SiStripDetCabling_
private

Definition at line 131 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and createModuleMEs().

double SiStripMonitorCluster::sToNLowerLimit_
private

Definition at line 193 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::sToNUpperLimit_
private

Definition at line 194 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::StripNoise2Cycle = 0

Definition at line 92 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::StripNoise3Cycle = 0

Definition at line 93 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 124 of file SiStripMonitorCluster.h.

Referenced by analyze(), createMEs(), and createSubDetMEs().

std::map<std::string, std::string> SiStripMonitorCluster::SubDetPhasePartMap
private

Definition at line 125 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycledbxprof2on
private

Definition at line 172 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycleprofon
private

Definition at line 170 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycleth2on
private

Definition at line 171 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchdbxcycleprofon
private

Definition at line 173 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchtotclusprofon
private

Definition at line 169 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchtotclusth1on
private

Definition at line 174 of file SiStripMonitorCluster.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorCluster().

TkHistoMap* SiStripMonitorCluster::tkmapcluster
private

Definition at line 137 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorCluster::topFolderName_
private

Definition at line 184 of file SiStripMonitorCluster.h.

Referenced by createMEs(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthLowerLimit_
private

Definition at line 195 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthUpperLimit_
private

Definition at line 196 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().