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
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) 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::EDGetTokenT
< APVCyclePhaseCollection
apvPhaseProducerToken_
 
bool ClusterHisto_
 
edm::EDGetTokenT
< edmNew::DetSetVector
< SiPixelCluster > > 
clusterProducerPixToken_
 
edm::EDGetTokenT
< edmNew::DetSetVector
< SiStripCluster > > 
clusterProducerStripToken_
 
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::EDGetTokenT
< EventWithHistory
historyProducerToken_
 
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
 
- 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::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 37 of file SiStripMonitorCluster.h.

Constructor & Destructor Documentation

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

Definition at line 43 of file SiStripMonitorCluster.cc.

References applyClusterQuality_, apvPhaseProducerToken_, ClusterHisto_, clusterProducerPixToken_, clusterProducerStripToken_, clustertkhistomapon, conf_, edm::EDConsumerBase::consumesCollector(), createTrendMEs, dcsStatus_, dk0, eventNb, firstEvent, genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, edm::ParameterSet::getParameter(), globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, historyProducerToken_, 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_.

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

References GenericTriggerEventFlag::accept(), applyClusterQuality_, apvPhaseProducerToken_, edmNew::DetSet< T >::begin(), SiStripMonitorCluster::ClusterProperties::charge, ClusterHisto_, clusterProducerPixToken_, clusterProducerStripToken_, 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::getByToken(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), GlobalApvCycleDBxTH2, GlobalCStripVsCpix, GlobalMainDiagonalPosition, globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, historyProducerToken_, 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, python.multivaluedict::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_.

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

Reimplemented from edm::EDAnalyzer.

Definition at line 204 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.

204  {
205 
206  // Initialize the GenericTriggerEventFlag
213 
215  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
216  if (m_cacheID_ != cacheID) {
217  m_cacheID_ = cacheID;
218  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::beginRun: "
219  << " Creating MEs for new Cabling ";
220 
221  createMEs(es);
222  }
223  } else if (reset_each_run) {
224  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::beginRun: "
225  << " Resetting MEs ";
226  for (std::map<uint32_t, ModMEs >::const_iterator idet = ModuleMEsMap.begin() ; idet!=ModuleMEsMap.end() ; idet++) {
227  ResetModuleMEs(idet->first);
228  }
229  }
230 }
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 1113 of file SiStripMonitorCluster.cc.

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

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

1114 {
1115  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1117  Parameters.getParameter<int32_t>("Nbinx"),
1118  Parameters.getParameter<double>("xmin"),
1119  Parameters.getParameter<double>("xmax")
1120  );
1121 }
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:873
vector< ParameterSet > Parameters
std::string HistoName
MonitorElement * SiStripMonitorCluster::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 1092 of file SiStripMonitorCluster.cc.

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

Referenced by createLayerMEs().

1093 {
1094  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1095  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
1097  ParametersTrend.getParameter<int32_t>("Nbins"),
1098  // 0,
1099  ParametersTrend.getParameter<double>("xmin"),
1100  ParametersTrend.getParameter<double>("xmax"),
1101  // ParametersTrend.getParameter<int32_t>("Nbins"),
1102  100, //that parameter should not be there !?
1103  ParametersTrend.getParameter<double>("ymin"),
1104  ParametersTrend.getParameter<double>("ymax"),
1105  "" );
1106  if(!me) return me;
1107  me->setAxisTitle("Event Time in Seconds",1);
1108  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
1109  return me;
1110 }
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:1187
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 859 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().

859  {
860 
861  SiStripHistoId hidmanager;
862 
863  LayerMEs layerMEs;
864  layerMEs.LayerClusterStoN = 0;
865  layerMEs.LayerClusterStoNTrend = 0;
866  layerMEs.LayerClusterCharge = 0;
867  layerMEs.LayerClusterChargeTrend = 0;
868  layerMEs.LayerClusterNoise = 0;
869  layerMEs.LayerClusterNoiseTrend = 0;
870  layerMEs.LayerClusterWidth = 0;
871  layerMEs.LayerClusterWidthTrend = 0;
872  layerMEs.LayerLocalOccupancy = 0;
873  layerMEs.LayerLocalOccupancyTrend = 0;
874  layerMEs.LayerNumberOfClusterProfile = 0;
875  layerMEs.LayerClusterWidthProfile = 0;
876 
877  //Cluster Width
879  layerMEs.LayerClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth","layer",label,"").c_str());
880  if (createTrendMEs) layerMEs.LayerClusterWidthTrend=bookMETrend("TH1ClusterWidth", hidmanager.createHistoLayer("Trend_ClusterWidth","layer",label,"").c_str());
881  }
882 
883  //Cluster Noise
885  layerMEs.LayerClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise","layer",label,"").c_str());
886  if (createTrendMEs) layerMEs.LayerClusterNoiseTrend=bookMETrend("TH1ClusterNoise", hidmanager.createHistoLayer("Trend_ClusterNoise","layer",label,"").c_str());
887  }
888 
889  //Cluster Charge
891  layerMEs.LayerClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge","layer",label,"").c_str());
892  if (createTrendMEs) layerMEs.LayerClusterChargeTrend=bookMETrend("TH1ClusterCharge", hidmanager.createHistoLayer("Trend_ClusterCharge","layer",label,"").c_str());
893  }
894 
895  //Cluster StoN
897  layerMEs.LayerClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterSignalOverNoise","layer",label,"").c_str());
898  if (createTrendMEs) layerMEs.LayerClusterStoNTrend=bookMETrend("TH1ClusterStoN", hidmanager.createHistoLayer("Trend_ClusterSignalOverNoise","layer",label,"").c_str());
899  }
900 
901  //Cluster Occupancy
903  layerMEs.LayerLocalOccupancy=bookME1D("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Summary_ClusterLocalOccupancy","layer",label,"").c_str());
904  if (createTrendMEs) layerMEs.LayerLocalOccupancyTrend=bookMETrend("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Trend_ClusterLocalOccupancy","layer",label,"").c_str());
905 
906  }
907 
908  // # of Cluster Profile
910  std::string hid = hidmanager.createHistoLayer("NumberOfClusterProfile","layer",label,"");
911  layerMEs.LayerNumberOfClusterProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 20.5);
912  }
913 
914  // Cluster Width Profile
916  std::string hid = hidmanager.createHistoLayer("ClusterWidthProfile","layer",label,"");
917  layerMEs.LayerClusterWidthProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 20, -0.5, 19.5);
918  }
919 
920  LayerMEsMap[label]=layerMEs;
921 }
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:1187
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 233 of file SiStripMonitorCluster.cc.

References funct::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, or, 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().

233  {
234 
236 
237  //Retrieve tracker topology from geometry
238  edm::ESHandle<TrackerTopology> tTopoHandle;
239  es.get<IdealGeometryRecord>().get(tTopoHandle);
240  const TrackerTopology* const tTopo = tTopoHandle.product();
241 
242  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
244 
245  // get list of active detectors from SiStripDetCabling
246  std::vector<uint32_t> activeDets;
247  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
248 
249  SiStripSubStructure substructure;
250 
251  SiStripFolderOrganizer folder_organizer;
252  folder_organizer.setSiStripFolderName(topFolderName_);
253  folder_organizer.setSiStripFolder();
254 
255 
256  // Create TkHistoMap for Cluster
257  if (clustertkhistomapon) {
258  // std::cout << "[SiStripMonitorCluster::createMEs] topFolderName_: " << topFolderName_ << " ";
259  if ( (topFolderName_ == "SiStrip") or (std::string::npos != topFolderName_.find("HLT")) )
260  tkmapcluster = new TkHistoMap(topFolderName_,"TkHMap_NumberOfCluster",0.,true);
261  else tkmapcluster = new TkHistoMap(topFolderName_+"/TkHistoMap","TkHMap_NumberOfCluster",0.,false);
262  }
263 
264  // loop over detectors and book MEs
265  edm::LogInfo("SiStripTkDQM|SiStripMonitorCluster")<<"nr. of activeDets: "<<activeDets.size();
266  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
267  uint32_t detid = (*detid_iterator);
268  // remove any eventual zero elements - there should be none, but just in case
269  if(detid == 0) {
270  activeDets.erase(detid_iterator);
271  continue;
272  }
273 
274  if (Mod_On_) {
275  ModMEs mod_single;
276  // set appropriate folder using SiStripFolderOrganizer
277  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
278  if (reset_each_run) ResetModuleMEs(detid);
279  createModuleMEs(mod_single, detid);
280  // append to ModuleMEsMap
281  ModuleMEsMap.insert( std::make_pair(detid, mod_single));
282  }
283 
284  // Create Layer Level MEs if they are not created already
285  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
286  SiStripHistoId hidmanager;
287  std::string label = hidmanager.getSubdetid(detid,tTopo,false);
288 
289  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
290  if(iLayerME==LayerMEsMap.end()) {
291 
292  // get detids for the layer
293  int32_t lnumber = det_layer_pair.second;
294  std::vector<uint32_t> layerDetIds;
295  if (det_layer_pair.first == "TIB") {
296  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
297  } else if (det_layer_pair.first == "TOB") {
298  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
299  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
300  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
301  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
302  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
303  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
304  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
305  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
306  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
307  }
308  LayerDetMap[label] = layerDetIds;
309 
310  // book Layer MEs
311  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second);
312  createLayerMEs(label, layerDetIds.size());
313  }
314  // book sub-detector plots
315  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
316  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
317  dqmStore_->setCurrentFolder(sdet_pair.first);
318  createSubDetMEs(sdet_pair.second);
319  }
320  }//end of loop over detectors
321 
322  // Create Global Histogram
324  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
325  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2ApvCycleVsDBxGlobal");
326  std::string HistoName = "DeltaBx_vs_ApvCycle";
327  GlobalApvCycleDBxTH2 = dqmStore_->book2D(HistoName,HistoName,
328  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
329  GlobalTH2Parameters.getParameter<double>("xmin"),
330  GlobalTH2Parameters.getParameter<double>("xmax"),
331  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
332  GlobalTH2Parameters.getParameter<double>("ymin"),
333  GlobalTH2Parameters.getParameter<double>("ymax"));
334  GlobalApvCycleDBxTH2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
335  GlobalApvCycleDBxTH2->setAxisTitle("Delta Bunch Crossing Cycle",2);
336  }
337 
339  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
340  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2CStripVsCpixel");
341  std::string HistoName = "StripClusVsPixClus";
342  GlobalCStripVsCpix = dqmStore_->book2D(HistoName,HistoName,
343  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
344  GlobalTH2Parameters.getParameter<double>("xmin"),
345  GlobalTH2Parameters.getParameter<double>("xmax"),
346  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
347  GlobalTH2Parameters.getParameter<double>("ymin"),
348  GlobalTH2Parameters.getParameter<double>("ymax"));
349  GlobalCStripVsCpix->setAxisTitle("Strip Clusters",1);
350  GlobalCStripVsCpix->setAxisTitle("Pix Clusters",2);
351  }
352 
354  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
355  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH1MultiplicityRegions");
356  std::string HistoName = "ClusterMultiplicityRegions";
357  PixVsStripMultiplicityRegions = dqmStore_->book1D(HistoName,HistoName,
358  GlobalTH2Parameters.getParameter<int32_t>("Nbinx"),
359  GlobalTH2Parameters.getParameter<double>("xmin"),
360  GlobalTH2Parameters.getParameter<double>("xmax"));
362  PixVsStripMultiplicityRegions->setBinLabel(1,"Main Diagonal");
363  PixVsStripMultiplicityRegions->setBinLabel(2,"Strip Noise");
364  PixVsStripMultiplicityRegions->setBinLabel(3,"High Strip Noise");
365  PixVsStripMultiplicityRegions->setBinLabel(4,"Beam Background");
366  PixVsStripMultiplicityRegions->setBinLabel(5,"No Strip Clusters");
367  }
368 
370  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
371  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1MainDiagonalPosition");
372  std::string HistoName = "MainDiagonal Position";
373  GlobalMainDiagonalPosition = dqmStore_->book1D(HistoName,HistoName,
374  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
375  GlobalTH1Parameters.getParameter<double>("xmin"),
376  GlobalTH1Parameters.getParameter<double>("xmax"));
377  GlobalMainDiagonalPosition->setAxisTitle("atan(NPix/(k*NStrip))");
378  }
379 
380  // TO BE ADDED !!!
381  /*
382  if ( globalswitchapvcycledbxth2on or globalswitchcstripvscpix or globalswitchMultiRegions or ClusterHisto_ ) {
383  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
384  std::string HistoName = "BPTX rate";
385  BPTXrateTrend = dqmStore_->bookProfile(HistoName,HistoName, LSBin, LSMin, LSMax, 0, 10000.,"");
386  BPTXrateTrend->getTH1()->SetBit(TH1::kCanRebin);
387  BPTXrateTrend->setAxisTitle("#Lumi section",1);
388  BPTXrateTrend->setAxisTitle("Number of BPTX events per LS",2);
389  }
390  */
391 
393  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
394  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise2ApvCycle");
395  std::string HistoName = "StripNoise_ApvCycle";
396  StripNoise2Cycle = dqmStore_->book1D(HistoName,HistoName,
397  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
398  GlobalTH1Parameters.getParameter<double>("xmin"),
399  GlobalTH1Parameters.getParameter<double>("xmax"));
400  StripNoise2Cycle->setAxisTitle("APV Cycle");
401  }
402 
404  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
405  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise3ApvCycle");
406  std::string HistoName = "HighStripNoise_ApvCycle";
407  StripNoise3Cycle = dqmStore_->book1D(HistoName,HistoName,
408  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
409  GlobalTH1Parameters.getParameter<double>("xmin"),
410  GlobalTH1Parameters.getParameter<double>("xmax"));
411  StripNoise3Cycle->setAxisTitle("APV Cycle");
412  }
413 
414  if (ClusterHisto_){
415  dqmStore_->setCurrentFolder(topFolderName_+"/MechanicalView/");
416  edm::ParameterSet PixelCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusPx");
417  std::string HistoName = "NumberOfClustersInPixel";
418  NumberOfPixelClus = dqmStore_->book1D(HistoName, HistoName,
419  PixelCluster.getParameter<int32_t>("Nbinsx"),
420  PixelCluster.getParameter<double>("xmin"),
421  PixelCluster.getParameter<double>("xmax"));
422  NumberOfPixelClus->setAxisTitle("# of Clusters in Pixel", 1);
423  NumberOfPixelClus->setAxisTitle("Number of Events", 2);
424  //
425  edm::ParameterSet StripCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusStrip");
426  HistoName = "NumberOfClustersInStrip";
427  NumberOfStripClus = dqmStore_->book1D(HistoName, HistoName,
428  StripCluster.getParameter<int32_t>("Nbinsx"),
429  StripCluster.getParameter<double>("xmin"),
430  StripCluster.getParameter<double>("xmax"));
431  NumberOfStripClus->setAxisTitle("# of Clusters in Strip", 1);
432  NumberOfStripClus->setAxisTitle("Number of Events", 2);
433  }
434 
435 
436  }//end of if
437 }//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:873
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
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)
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)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
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:1001
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:585
void SiStripMonitorCluster::createModuleMEs ( ModMEs mod_single,
uint32_t  detid 
)
private

Definition at line 759 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().

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

Definition at line 925 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().

925  {
926 
927  SubDetMEs subdetMEs;
928  subdetMEs.totNClusters = 0;
929  subdetMEs.SubDetTotClusterTH1 = 0;
930  subdetMEs.SubDetTotClusterProf = 0;
931  subdetMEs.SubDetClusterApvProf = 0;
932  subdetMEs.SubDetClusterApvTH2 = 0;
933  subdetMEs.SubDetClusterDBxCycleProf = 0;
934  subdetMEs.SubDetApvDBxProf2 = 0;
935 
937  // Total Number of Cluster - 1D
939  HistoName = "TotalNumberOfCluster__" + label;
940  subdetMEs.SubDetTotClusterTH1 = bookME1D("TH1TotalNumberOfClusters",HistoName.c_str());
941  subdetMEs.SubDetTotClusterTH1->setAxisTitle("Total number of clusters in subdetector");
942  subdetMEs.SubDetTotClusterTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
943  }
944  // Total Number of Cluster vs Time - Profile
946  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfClusters");
947  HistoName = "TotalNumberOfClusterProfile__" + label;
948  subdetMEs.SubDetTotClusterProf = dqmStore_->bookProfile(HistoName,HistoName,
949  Parameters.getParameter<int32_t>("Nbins"),
950  Parameters.getParameter<double>("xmin"),
951  Parameters.getParameter<double>("xmax"),
952  100, //that parameter should not be there !?
953  Parameters.getParameter<double>("ymin"),
954  Parameters.getParameter<double>("ymax"),
955  "" );
956  subdetMEs.SubDetTotClusterProf->setAxisTitle("Event Time (Seconds)",1);
957  if (subdetMEs.SubDetTotClusterProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotClusterProf->getTH1()->SetBit(TH1::kCanRebin);
958  }
959  // Total Number of Cluster vs APV cycle - Profile
961  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
962  HistoName = "Cluster_vs_ApvCycle__" + label;
963  subdetMEs.SubDetClusterApvProf=dqmStore_->bookProfile(HistoName,HistoName,
964  Parameters.getParameter<int32_t>("Nbins"),
965  Parameters.getParameter<double>("xmin"),
966  Parameters.getParameter<double>("xmax"),
967  200, //that parameter should not be there !?
968  Parameters.getParameter<double>("ymin"),
969  Parameters.getParameter<double>("ymax"),
970  "" );
971  subdetMEs.SubDetClusterApvProf->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70)",1);
972  }
973 
974  // Total Number of Clusters vs ApvCycle - 2D
976  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
977  HistoName = "Cluster_vs_ApvCycle_2D__" + label;
978  // Adjusting the scale for 2D histogram
979  double h2ymax = 9999.0;
980  double yfact = Parameters.getParameter<double>("yfactor");
981  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
982  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
983  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
984  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
985 
986  subdetMEs.SubDetClusterApvTH2=dqmStore_->book2D(HistoName,HistoName,
987  Parameters.getParameter<int32_t>("Nbinsx"),
988  Parameters.getParameter<double>("xmin"),
989  Parameters.getParameter<double>("xmax"),
990  Parameters.getParameter<int32_t>("Nbinsy"),
991  Parameters.getParameter<double>("ymin"),
992  h2ymax);
993  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70))",1);
994  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Total # of Clusters",2);
995 
996  }
997  // Total Number of Cluster vs DeltaBxCycle - Profile
999  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
1000  HistoName = "Cluster_vs_DeltaBxCycle__" + label;
1001  subdetMEs.SubDetClusterDBxCycleProf = dqmStore_->bookProfile(HistoName,HistoName,
1002  Parameters.getParameter<int32_t>("Nbins"),
1003  Parameters.getParameter<double>("xmin"),
1004  Parameters.getParameter<double>("xmax"),
1005  200, //that parameter should not be there !?
1006  Parameters.getParameter<double>("ymin"),
1007  Parameters.getParameter<double>("ymax"),
1008  "" );
1009  subdetMEs.SubDetClusterDBxCycleProf->setAxisTitle("Delta Bunch Crossing Cycle",1);
1010  }
1011  // DeltaBx vs ApvCycle - 2DProfile
1013  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
1014  HistoName = "DeltaBx_vs_ApvCycle__" + label;
1015  subdetMEs.SubDetApvDBxProf2 = dqmStore_->bookProfile2D(HistoName,HistoName,
1016  Parameters.getParameter<int32_t>("Nbinsx"),
1017  Parameters.getParameter<double>("xmin"),
1018  Parameters.getParameter<double>("xmax"),
1019  Parameters.getParameter<int32_t>("Nbinsy"),
1020  Parameters.getParameter<double>("ymin"),
1021  Parameters.getParameter<double>("ymax"),
1022  Parameters.getParameter<double>("zmin"),
1023  Parameters.getParameter<double>("zmax"),
1024  "" );
1025  subdetMEs.SubDetApvDBxProf2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
1026  subdetMEs.SubDetApvDBxProf2->setAxisTitle("Delta Bunch Crossing Cycle",2);
1027  }
1028  SubDetMEsMap[label]=subdetMEs;
1029 }
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:1187
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:1001
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:1331
void SiStripMonitorCluster::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 731 of file SiStripMonitorCluster.cc.

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

731  {
732  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
734 
735  // save histos in a file
736  if(outputMEsInRootFile) dqmStore_->save(outputFileName);
737 }
T getParameter(std::string const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2297
void SiStripMonitorCluster::fillLayerMEs ( LayerMEs layerMEs,
ClusterProperties cluster,
float  timeinorbit 
)
private

Definition at line 1069 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().

1069  {
1070  if(layerswitchclusstonon) {
1071  fillME(layerMEs.LayerClusterStoN ,cluster.charge/cluster.noise);
1072  if (createTrendMEs) fillME(layerMEs.LayerClusterStoNTrend,timeinorbit,cluster.charge/cluster.noise);
1073  }
1074 
1076  fillME(layerMEs.LayerClusterCharge,cluster.charge);
1077  if (createTrendMEs) fillME(layerMEs.LayerClusterChargeTrend,timeinorbit,cluster.charge);
1078  }
1079 
1081  fillME(layerMEs.LayerClusterNoise ,cluster.noise);
1082  if (createTrendMEs) fillME(layerMEs.LayerClusterNoiseTrend,timeinorbit,cluster.noise);
1083  }
1084 
1086  fillME(layerMEs.LayerClusterWidth ,cluster.width);
1087  if (createTrendMEs) fillME(layerMEs.LayerClusterWidthTrend,timeinorbit,cluster.width);
1088  }
1089 
1090 }
void fillME(MonitorElement *ME, float value1)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 117 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

Referenced by analyze(), and fillLayerMEs().

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

Definition at line 118 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

118 {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 119 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

119 {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 120 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

120 {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 1034 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().

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

Definition at line 1123 of file SiStripMonitorCluster.cc.

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

Referenced by analyze().

1123  {
1124 
1125  double kplus= k0*(1+dk0/100);
1126  double kminus=k0*(1-dk0/100);
1127  int region=0;
1128 
1129  if (nstrip!=0 && npix >= (nstrip*kminus-q0) && npix <=(nstrip*kplus+q0)) region=1;
1130  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip <= maxClus) region=2;
1131  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip > maxClus) region=3;
1132  else if (nstrip!=0 && npix > (nstrip*kplus+q0)) region=4;
1133  else if (npix > minPix && nstrip==0) region=5;
1134  return region;
1135 
1136 }
void SiStripMonitorCluster::ResetModuleMEs ( uint32_t  idet)
private

Definition at line 741 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, and MonitorElement::Reset().

Referenced by beginRun(), and createMEs().

741  {
742  std::map<uint32_t, ModMEs >::iterator pos = ModuleMEsMap.find(idet);
743  ModMEs mod_me = pos->second;
744 
745  if (moduleswitchncluson) mod_me.NumberOfClusters->Reset();
746  if (moduleswitchclusposon) mod_me.ClusterPosition->Reset();
747  if (moduleswitchclusdigiposon) mod_me.ClusterDigiPosition->Reset();
748  if (moduleswitchclusstonVsposon) mod_me.ClusterSignalOverNoiseVsPos->Reset();
749  if (moduleswitchcluswidthon) mod_me.ClusterWidth->Reset();
750  if (moduleswitchcluschargeon) mod_me.ClusterCharge->Reset();
751  if (moduleswitchclusnoiseon) mod_me.ClusterNoise->Reset();
752  if (moduleswitchclusstonon) mod_me.ClusterSignalOverNoise->Reset();
753  if (moduleswitchlocaloccupancy) mod_me.ModuleLocalOccupancy->Reset();
754  if (moduleswitchnrclusterizedstrip) mod_me.NrOfClusterizedStrips->Reset();
755 }
std::map< uint32_t, ModMEs > ModuleMEsMap

Member Data Documentation

bool SiStripMonitorCluster::applyClusterQuality_
private

Definition at line 205 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

edm::EDGetTokenT<APVCyclePhaseCollection> SiStripMonitorCluster::apvPhaseProducerToken_
private

Definition at line 203 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::BPTXrateTrend = 0

Definition at line 103 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::ClusterHisto_
private

Definition at line 188 of file SiStripMonitorCluster.h.

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

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > SiStripMonitorCluster::clusterProducerPixToken_
private

Definition at line 201 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > SiStripMonitorCluster::clusterProducerStripToken_
private

Definition at line 200 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::clustertkhistomapon
private

Definition at line 184 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 217 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::dk0
private

Definition at line 213 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

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

Definition at line 145 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

int SiStripMonitorCluster::firstEvent
private

Definition at line 146 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 94 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalCStripVsCpix = 0

Definition at line 95 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalMainDiagonalPosition = 0

Definition at line 97 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::globalswitchapvcycledbxth2on
private

Definition at line 181 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchcstripvscpix
private

Definition at line 182 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchmaindiagonalposition
private

Definition at line 163 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchMultiRegions
private

Definition at line 183 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise2apvcycle
private

Definition at line 161 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise3apvcycle
private

Definition at line 162 of file SiStripMonitorCluster.h.

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

edm::EDGetTokenT<EventWithHistory> SiStripMonitorCluster::historyProducerToken_
private

Definition at line 202 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::k0
private

Definition at line 211 of file SiStripMonitorCluster.h.

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

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

Definition at line 129 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 128 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluschargeon
private

Definition at line 149 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusdigiposon
private

Definition at line 153 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusnoiseon
private

Definition at line 154 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusposon
private

Definition at line 152 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusstonon
private

Definition at line 150 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusstonVsposon
private

Definition at line 151 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusterwidthprofon
private

Definition at line 159 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluswidthon
private

Definition at line 155 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchlocaloccupancy
private

Definition at line 156 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchncluson
private

Definition at line 148 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnrclusterizedstrip
private

Definition at line 157 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnumclusterprofon
private

Definition at line 158 of file SiStripMonitorCluster.h.

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

unsigned long long SiStripMonitorCluster::m_cacheID_
private

Definition at line 135 of file SiStripMonitorCluster.h.

Referenced by beginRun().

double SiStripMonitorCluster::maxClus
private

Definition at line 214 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

double SiStripMonitorCluster::minPix
private

Definition at line 215 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::Mod_On_
private

Definition at line 187 of file SiStripMonitorCluster.h.

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

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

Definition at line 127 of file SiStripMonitorCluster.h.

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

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

Definition at line 138 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 100 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfStripClus = 0

Definition at line 101 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

edm::ParameterSet SiStripMonitorCluster::Parameters
private

Definition at line 140 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::passBPTXfilter_
private

Definition at line 224 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::passPixelDCSfilter_
private

Definition at line 225 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::passStripDCSfilter_
private

Definition at line 226 of file SiStripMonitorCluster.h.

Referenced by analyze().

MonitorElement* SiStripMonitorCluster::PixVsStripMultiplicityRegions = 0

Definition at line 96 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

double SiStripMonitorCluster::q0
private

Definition at line 212 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

std::string SiStripMonitorCluster::qualityLabel_
private

Definition at line 191 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::reset_each_run
private

Definition at line 134 of file SiStripMonitorCluster.h.

Referenced by beginRun(), and createMEs().

int SiStripMonitorCluster::runNb
private

Definition at line 145 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::select_all_detectors
private

Definition at line 134 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_control_view
private

Definition at line 134 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_mechanical_structure_view
private

Definition at line 134 of file SiStripMonitorCluster.h.

Referenced by beginRun(), and createMEs().

bool SiStripMonitorCluster::show_readout_view
private

Definition at line 134 of file SiStripMonitorCluster.h.

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

Definition at line 137 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::sToNLowerLimit_
private

Definition at line 206 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::sToNUpperLimit_
private

Definition at line 207 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::StripNoise2Cycle = 0

Definition at line 98 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::StripNoise3Cycle = 0

Definition at line 99 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 130 of file SiStripMonitorCluster.h.

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

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

Definition at line 131 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycledbxprof2on
private

Definition at line 178 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleprofon
private

Definition at line 176 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleth2on
private

Definition at line 177 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchdbxcycleprofon
private

Definition at line 179 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusprofon
private

Definition at line 175 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusth1on
private

Definition at line 180 of file SiStripMonitorCluster.h.

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

TkHistoMap* SiStripMonitorCluster::tkmapcluster
private

Definition at line 143 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorCluster::topFolderName_
private

Definition at line 190 of file SiStripMonitorCluster.h.

Referenced by createMEs(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthLowerLimit_
private

Definition at line 208 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthUpperLimit_
private

Definition at line 209 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().