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:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  ClusterProperties
 
struct  LayerMEs
 
struct  ModMEs
 
struct  SubDetMEs
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &)
 
 SiStripMonitorCluster (const edm::ParameterSet &)
 
 ~SiStripMonitorCluster ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 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
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) 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
 
MonitorElementClusWidthVsAmpTH2 = 0
 
MonitorElementGlobalApvCycleDBxTH2 = 0
 
MonitorElementGlobalCStripVsCpix = 0
 
MonitorElementGlobalMainDiagonalPosition = 0
 
MonitorElementNclusVsCycleTimeProf2D = 0
 
MonitorElementNumberOfPixelClus = 0
 
MonitorElementNumberOfStripClus = 0
 
MonitorElementPixVsStripMultiplicityRegions = 0
 
MonitorElementStripNoise2Cycle = 0
 
MonitorElementStripNoise3Cycle = 0
 

Private Member Functions

MonitorElementbookME1D (const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
 
MonitorElementbookME2D (const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
 
MonitorElementbookMETrend (const char *, DQMStore::IBooker &ibooker)
 
void createLayerMEs (std::string label, int ndets, DQMStore::IBooker &ibooker)
 
void createMEs (const edm::EventSetup &es, DQMStore::IBooker &ibooker)
 
void createModuleMEs (ModMEs &mod_single, uint32_t detid, DQMStore::IBooker &ibooker)
 
void createSubDetMEs (std::string label, DQMStore::IBooker &ibooker)
 
void fillLayerMEs (LayerMEs &, ClusterProperties &cluster)
 
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
 
bool clusterWidth_vs_amplitude_on
 
edm::ParameterSet conf_
 
bool createTrendMEs
 
SiStripDCSStatusdcsStatus_
 
double dk0
 
int eventNb
 
int firstEvent
 
GenericTriggerEventFlaggenTriggerEventFlagBPTXfilter_
 
GenericTriggerEventFlaggenTriggerEventFlagPixelDCSfilter_
 
GenericTriggerEventFlaggenTriggerEventFlagStripDCSfilter_
 
bool globalswitchapvcycledbxth2on
 
bool globalswitchcstripvscpix
 
bool globalswitchmaindiagonalposition
 
bool globalswitchMultiRegions
 
bool globalswitchnclusvscycletimeprof2don
 
bool globalswitchstripnoise2apvcycle
 
bool globalswitchstripnoise3apvcycle
 
edm::EDGetTokenT
< EventWithHistory
historyProducerToken_
 
double k0
 
bool layer_clusterWidth_vs_amplitude_on
 
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_
 
bool module_clusterWidth_vs_amplitude_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_
 
bool subdet_clusterWidth_vs_amplitude_on
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
std::map< std::string,
std::string > 
SubDetPhasePartMap
 
bool subdetswitchapvcycledbxprof2on
 
bool subdetswitchapvcycleprofon
 
bool subdetswitchapvcycleth2on
 
bool subdetswitchcluschargeon
 
bool subdetswitchcluswidthon
 
bool subdetswitchdbxcycleprofon
 
bool subdetswitchtotclusprofon
 
bool subdetswitchtotclusth1on
 
TkHistoMaptkmapcluster
 
std::string topFolderName_
 
float trendVar
 
bool trendVsLs_
 
double widthLowerLimit_
 
double widthUpperLimit_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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 39 of file SiStripMonitorCluster.h.

Constructor & Destructor Documentation

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

Definition at line 44 of file SiStripMonitorCluster.cc.

References applyClusterQuality_, apvPhaseProducerToken_, ClusterHisto_, clusterProducerPixToken_, clusterProducerStripToken_, clustertkhistomapon, clusterWidth_vs_amplitude_on, conf_, edm::EDConsumerBase::consumesCollector(), createTrendMEs, dcsStatus_, dk0, eventNb, firstEvent, genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, edm::ParameterSet::getParameter(), globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchnclusvscycletimeprof2don, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, historyProducerToken_, k0, layer_clusterWidth_vs_amplitude_on, layerswitchcluschargeon, layerswitchclusdigiposon, layerswitchclusnoiseon, layerswitchclusposon, layerswitchclusstonon, layerswitchclusstonVsposon, layerswitchclusterwidthprofon, layerswitchcluswidthon, layerswitchlocaloccupancy, layerswitchncluson, layerswitchnrclusterizedstrip, layerswitchnumclusterprofon, maxClus, minPix, Mod_On_, module_clusterWidth_vs_amplitude_on, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, passBPTXfilter_, q0, qualityLabel_, sToNLowerLimit_, sToNUpperLimit_, AlCaHLTBitMon_QueryRunRegistry::string, subdet_clusterWidth_vs_amplitude_on, SubDetPhasePartMap, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchcluschargeon, subdetswitchcluswidthon, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, topFolderName_, trendVsLs_, widthLowerLimit_, and widthUpperLimit_.

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

Definition at line 488 of file SiStripMonitorCluster.cc.

References GenericTriggerEventFlag::accept(), applyClusterQuality_, apvPhaseProducerToken_, edmNew::DetSet< T >::begin(), SiStripMonitorCluster::ClusterProperties::charge, ClusterHisto_, clusterProducerPixToken_, clusterProducerStripToken_, clustertkhistomapon, clusterWidth_vs_amplitude_on, ClusWidthVsAmpTH2, 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, globalswitchnclusvscycletimeprof2don, 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, NclusVsCycleTimeProf2D, SiStripMonitorCluster::ClusterProperties::noise, HLT_25ns14e33_v1_cff::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, subdet_clusterWidth_vs_amplitude_on, SiStripMonitorCluster::SubDetMEs::SubDetApvDBxProf2, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvProf, SiStripMonitorCluster::SubDetMEs::SubDetClusterApvTH2, SiStripMonitorCluster::SubDetMEs::SubDetClusterDBxCycleProf, SubDetMEsMap, SubDetPhasePartMap, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchcluschargeon, subdetswitchcluswidthon, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterProf, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterTH1, tkmapcluster, SiStripMonitorCluster::SubDetMEs::totNClusters, trendVar, trendVsLs_, SiStripMonitorCluster::ClusterProperties::width, widthLowerLimit_, and widthUpperLimit_.

489 {
490  //Retrieve tracker topology from geometry
491  edm::ESHandle<TrackerTopology> tTopoHandle;
492  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
493  const TrackerTopology* const tTopo = tTopoHandle.product();
494 
495  // Filter out events if Trigger Filtering is requested
496  passBPTXfilter_ = ( iEvent.isRealData() and genTriggerEventFlagBPTXfilter_->on() ) ? genTriggerEventFlagBPTXfilter_->accept( iEvent, iSetup) : true;
499  // std::cout << "passBPTXfilter_ ? " << passBPTXfilter_ << std::endl;
500 
501  // Filter out events if DCS Event if requested
502  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent,iSetup)) return;
503 
504  runNb = iEvent.id().run();
505  eventNb++;
506  trendVar = trendVsLs_ ? iEvent.orbitNumber()/262144.0 : iEvent.orbitNumber()/11223.0; // lumisection : seconds
507 
508  int NPixClusters=0, NStripClusters=0, MultiplicityRegion=0;
509  bool isPixValid=false;
510 
511  edm::ESHandle<SiStripNoises> noiseHandle;
512  iSetup.get<SiStripNoisesRcd>().get(noiseHandle);
513 
514  edm::ESHandle<SiStripGain> gainHandle;
515  iSetup.get<SiStripGainRcd>().get(gainHandle);
516 
517  edm::ESHandle<SiStripQuality> qualityHandle;
518  iSetup.get<SiStripQualityRcd>().get(qualityLabel_,qualityHandle);
519 
521 
522  // get collection of DetSetVector of clusters from Event
524  iEvent.getByToken(clusterProducerStripToken_, cluster_detsetvektor);
525 
526  //get pixel clusters
527  edm::Handle< edmNew::DetSetVector<SiPixelCluster> > cluster_detsetvektor_pix;
528  iEvent.getByToken(clusterProducerPixToken_, cluster_detsetvektor_pix);
529 
530  if (!cluster_detsetvektor.isValid()) return;
531 
532  const edmNew::DetSetVector<SiStripCluster> * StrC= cluster_detsetvektor.product();
533  NStripClusters= StrC->data().size();
534 
535  if (cluster_detsetvektor_pix.isValid()){
536  const edmNew::DetSetVector<SiPixelCluster> * PixC= cluster_detsetvektor_pix.product();
537  NPixClusters= PixC->data().size();
538  isPixValid=true;
539  MultiplicityRegion=FindRegion(NStripClusters,NPixClusters);
540 
542  if (globalswitchcstripvscpix) GlobalCStripVsCpix->Fill(NStripClusters,NPixClusters);
543  if (globalswitchmaindiagonalposition && NStripClusters > 0) GlobalMainDiagonalPosition->Fill(atan(NPixClusters/(k0*NStripClusters)));
545  }
546 
547  if (ClusterHisto_){
549  NumberOfPixelClus->Fill(NPixClusters);
550  if ( passBPTXfilter_ and passStripDCSfilter_ )
551  NumberOfStripClus->Fill(NStripClusters);
552  }
553  }
554  // initialise # of clusters to zero
555  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin();
556  iSubdet != SubDetMEsMap.end(); iSubdet++) {
557  iSubdet->second.totNClusters = 0;
558  }
559 
560  SiStripFolderOrganizer folder_organizer;
561  bool found_layer_me = false;
562  for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin();
563  iterLayer != LayerDetMap.end(); iterLayer++) {
564 
565  std::string layer_label = iterLayer->first;
566 
567  int ncluster_layer = 0;
568  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
569 
570  //get Layer MEs
571  LayerMEs layer_single;
572  if(iLayerME != LayerMEsMap.end()) {
573  layer_single = iLayerME->second;
574  found_layer_me = true;
575  }
576 
577  bool found_module_me = false;
578  uint16_t iDet = 0;
579  std::string subdet_label = "";
580  // loop over all modules in the layer
581  for (std::vector< uint32_t >::const_iterator iterDets = iterLayer->second.begin() ;
582  iterDets != iterLayer->second.end() ; iterDets++) {
583  iDet++;
584  // detid and type of ME
585  uint32_t detid = (*iterDets);
586 
587  // Get SubDet label once
588  if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid, tTopo).second;
589 
590  // DetId and corresponding set of MEs
591  ModMEs mod_single;
592  if (Mod_On_) {
593  std::map<uint32_t, ModMEs >::iterator imodME = ModuleMEsMap.find(detid);
594  if (imodME != ModuleMEsMap.end()) {
595  mod_single = imodME->second;
596  found_module_me = true;
597  }
598  } else found_module_me = false;
599 
600  edmNew::DetSetVector<SiStripCluster>::const_iterator isearch = cluster_detsetvektor->find(detid); // search clusters of detid
601 
602  if(isearch==cluster_detsetvektor->end()){
603  if(found_module_me && moduleswitchncluson && (mod_single.NumberOfClusters)){
604  (mod_single.NumberOfClusters)->Fill(0.); // no clusters for this detector module,fill histogram with 0
605  }
606  if(clustertkhistomapon) tkmapcluster->fill(detid,0.);
607  if (found_layer_me && layerswitchnumclusterprofon) layer_single.LayerNumberOfClusterProfile->Fill(iDet, 0.0);
608  continue; // no clusters for this detid => jump to next step of loop
609  }
610 
611  //cluster_detset is a structure, cluster_detset.data is a std::vector<SiStripCluster>, cluster_detset.id is uint32_t
612  // edmNew::DetSet<SiStripCluster> cluster_detset = (*cluster_detsetvektor)[detid]; // the statement above makes sure there exists an element with 'detid'
613  edmNew::DetSet<SiStripCluster> cluster_detset = (*isearch);
614 
615  // Filling TkHistoMap with number of clusters for each module
616  if(clustertkhistomapon) {
617  tkmapcluster->fill(detid,static_cast<float>(cluster_detset.size()));
618  }
619 
620  if(moduleswitchncluson && found_module_me && (mod_single.NumberOfClusters != NULL)){ // nr. of clusters per module
621  (mod_single.NumberOfClusters)->Fill(static_cast<float>(cluster_detset.size()));
622  }
623 
624  if (found_layer_me && layerswitchnumclusterprofon)
625  layer_single.LayerNumberOfClusterProfile->Fill(iDet, static_cast<float>(cluster_detset.size()));
626  ncluster_layer += cluster_detset.size();
627 
628  short total_clusterized_strips = 0;
629 
630  SiStripNoises::Range detNoiseRange = noiseHandle->getRange(detid);
631  SiStripApvGain::Range detGainRange = gainHandle->getRange(detid);
632  SiStripQuality::Range qualityRange = qualityHandle->getRange(detid);
633 
634  for(edmNew::DetSet<SiStripCluster>::const_iterator clusterIter = cluster_detset.begin(); clusterIter!= cluster_detset.end(); clusterIter++){
635 
636  const auto & ampls = clusterIter->amplitudes();
637  // cluster position
638  float cluster_position = clusterIter->barycenter();
639  // start defined as nr. of first strip beloning to the cluster
640  short cluster_start = clusterIter->firstStrip();
641  // width defined as nr. of strips that belong to cluster
642  short cluster_width = ampls.size();
643  // add nr of strips of this cluster to total nr. of clusterized strips
644  total_clusterized_strips = total_clusterized_strips + cluster_width;
645 
646  // cluster signal and noise from the amplitudes
647  float cluster_signal = 0.0;
648  float cluster_noise = 0.0;
649  int nrnonzeroamplitudes = 0;
650  float noise2 = 0.0;
651  float noise = 0.0;
652  for(uint iamp=0; iamp<ampls.size(); iamp++){
653  if(ampls[iamp]>0){ // nonzero amplitude
654  cluster_signal += ampls[iamp];
655  if(!qualityHandle->IsStripBad(qualityRange, clusterIter->firstStrip()+iamp)){
656  noise = noiseHandle->getNoise(clusterIter->firstStrip()+iamp,detNoiseRange)/gainHandle->getStripGain(clusterIter->firstStrip()+iamp, detGainRange);
657  }
658  noise2 += noise*noise;
659  nrnonzeroamplitudes++;
660  }
661  } // End loop over cluster amplitude
662 
663  if (nrnonzeroamplitudes > 0) cluster_noise = sqrt(noise2/nrnonzeroamplitudes);
664 
665  if( applyClusterQuality_ &&
666  (cluster_signal/cluster_noise < sToNLowerLimit_ ||
667  cluster_signal/cluster_noise > sToNUpperLimit_ ||
668  cluster_width < widthLowerLimit_ ||
669  cluster_width > widthUpperLimit_) ) continue;
670 
671  ClusterProperties cluster_properties;
672  cluster_properties.charge = cluster_signal;
673  cluster_properties.position = cluster_position;
674  cluster_properties.start = cluster_start;
675  cluster_properties.width = cluster_width;
676  cluster_properties.noise = cluster_noise;
677 
678  // Fill Module Level MEs
679  if (found_module_me) fillModuleMEs(mod_single, cluster_properties);
680 
681  // Fill Layer Level MEs
682  if (found_layer_me) {
683  fillLayerMEs(layer_single, cluster_properties);
685  layer_single.LayerClusterWidthProfile->Fill(iDet, cluster_width);
686  }
687 
689  {
690  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
691  if(iSubdet != SubDetMEsMap.end())
692  {
693  if (subdetswitchcluschargeon) iSubdet->second.SubDetClusterChargeTH1->Fill(cluster_signal);
694  if (subdetswitchcluswidthon) iSubdet->second.SubDetClusterWidthTH1->Fill(cluster_width);
695  }
696  }
697 
698 
700  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
701  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
702  }
703 
705  ClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
706  }
707 
708  } // end loop over clusters
709 
710  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
711  float local_occupancy = static_cast<float>(total_clusterized_strips)/static_cast<float>(total_nr_strips);
712  if (found_module_me) {
713  if(moduleswitchnrclusterizedstrip && mod_single.NrOfClusterizedStrips ){ // nr of clusterized strips
714  mod_single.NrOfClusterizedStrips->Fill(static_cast<float>(total_clusterized_strips));
715  }
716 
717  if(moduleswitchlocaloccupancy && mod_single.ModuleLocalOccupancy ){ // Occupancy
718  mod_single.ModuleLocalOccupancy->Fill(local_occupancy);
719  }
720  }
721  if (layerswitchlocaloccupancy && found_layer_me && layer_single.LayerLocalOccupancy) {
722  fillME(layer_single.LayerLocalOccupancy,local_occupancy);
723  if (createTrendMEs)
724  fillME(layer_single.LayerLocalOccupancyTrend,trendVar,local_occupancy);
725  }
726  }
727  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
728  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.totNClusters += ncluster_layer;
729  }
730 
731  // EventHistory
732  edm::Handle<EventWithHistory> event_history;
733  iEvent.getByToken(historyProducerToken_,event_history);
734 
735  // Phase of APV
736  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
737  iEvent.getByToken(apvPhaseProducerToken_,apv_phase_collection);
738 
739  if (event_history.isValid()
740  && !event_history.failedToGet()
741  && apv_phase_collection.isValid()
742  && !apv_phase_collection.failedToGet()) {
743 
744 
745  long long dbx = event_history->deltaBX();
746  long long tbx = event_history->absoluteBX();
747 
748  bool global_histo_filled = false;
749  bool MultiplicityRegion_Vs_APVcycle_filled=false;
750 
751  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
752  it != SubDetMEsMap.end(); it++) {
753  std::string sdet = it->first;
754  //std::string sdet = sdet_tag.substr(0,sdet_tag.find_first_of("_"));
755  SubDetMEs sdetmes = it->second;
756 
757  int the_phase = APVCyclePhaseCollection::invalid;
758  long long tbx_corr = tbx;
759 
760  if (SubDetPhasePartMap.find(sdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[sdet]);
761  if(the_phase==APVCyclePhaseCollection::nopartition ||
764  the_phase=30;
765  //std::cout << " subdet " << it->first << " not valid" << " MR " << MultiplicityRegion <<std::endl;
766  }
767  tbx_corr -= the_phase;
768  long long dbxincycle = event_history->deltaBXinCycle(the_phase);
769  if (globalswitchapvcycledbxth2on && !global_histo_filled) {
770  GlobalApvCycleDBxTH2->Fill(tbx_corr%70,dbx);
771  global_histo_filled = true;
772  }
773 
774  if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled){
775  if (globalswitchstripnoise2apvcycle && MultiplicityRegion==2) {StripNoise2Cycle->Fill(tbx_corr%70);}
776  if (globalswitchstripnoise3apvcycle && MultiplicityRegion==3) {StripNoise3Cycle->Fill(tbx_corr%70);}
777  MultiplicityRegion_Vs_APVcycle_filled=true;
778  }
779 
781  sdetmes.SubDetTotClusterTH1->Fill(sdetmes.totNClusters);
783  sdetmes.SubDetTotClusterProf->Fill(trendVar,sdetmes.totNClusters);
785  sdetmes.SubDetClusterApvProf->Fill(tbx_corr%70,sdetmes.totNClusters);
787  sdetmes.SubDetClusterApvTH2->Fill(tbx_corr%70,sdetmes.totNClusters);
789  sdetmes.SubDetClusterDBxCycleProf->Fill(dbxincycle,sdetmes.totNClusters);
791  sdetmes.SubDetApvDBxProf2->Fill(tbx_corr%70,dbx,sdetmes.totNClusters);
792  }
793 
795  {
796  long long tbx_corr = tbx;
797  int the_phase = apv_phase_collection->getPhase("All");
798 
799  if( the_phase == APVCyclePhaseCollection::nopartition ||
801  the_phase == APVCyclePhaseCollection::invalid )
802  the_phase=30;
803 
804  tbx_corr -= the_phase;
805 
806  NclusVsCycleTimeProf2D->Fill( tbx_corr%70 , (int)event_history->_orbit , NStripClusters );
807  }
808  }
809 }
RunNumber_t run() const
Definition: EventID.h:39
int FindRegion(int nstrip, int npixel)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * PixVsStripMultiplicityRegions
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
MonitorElement * GlobalCStripVsCpix
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
#define NULL
Definition: scimark2.h:8
MonitorElement * StripNoise2Cycle
data_type const * const_iterator
Definition: DetSetNew.h:30
std::map< std::string, LayerMEs > LayerMEsMap
bool isRealData() const
Definition: EventBase.h:64
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:180
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:67
MonitorElement * NumberOfStripClus
bool isValid() const
Definition: HandleBase.h:75
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
MonitorElement * ClusWidthVsAmpTH2
MonitorElement * GlobalMainDiagonalPosition
SiStripDCSStatus * dcsStatus_
bool failedToGet() const
Definition: HandleBase.h:79
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
void fillME(MonitorElement *ME, float value1)
T const * product() const
Definition: Handle.h:81
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
MonitorElement * StripNoise3Cycle
edm::EventID id() const
Definition: EventBase.h:60
iterator end()
Definition: DetSetNew.h:70
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterProducerPixToken_
std::map< std::string, SubDetMEs > SubDetMEsMap
void fillLayerMEs(LayerMEs &, ClusterProperties &cluster)
std::pair< ContainerIterator, ContainerIterator > Range
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterProducerStripToken_
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:48
size_type size() const
Definition: DetSetNew.h:86
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
MonitorElement * NclusVsCycleTimeProf2D
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
int size() const
iterator begin()
Definition: DetSetNew.h:67
void SiStripMonitorCluster::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 466 of file SiStripMonitorCluster.cc.

References createMEs(), edm::EventSetup::get(), m_cacheID_, ModuleMEsMap, reset_each_run, ResetModuleMEs(), and show_mechanical_structure_view.

467 {
469  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
470  if (m_cacheID_ != cacheID) {
471  m_cacheID_ = cacheID;
472  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
473  << " Creating MEs for new Cabling ";
474 
475  createMEs(es , ibooker);
476  }
477  } else if (reset_each_run) {
478  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
479  << " Resetting MEs ";
480  for (std::map<uint32_t, ModMEs >::const_iterator idet = ModuleMEsMap.begin() ; idet!=ModuleMEsMap.end() ; idet++) {
481  ResetModuleMEs(idet->first);
482  }
483  }
484 
485 }
void ResetModuleMEs(uint32_t idet)
unsigned long long m_cacheID_
std::map< uint32_t, ModMEs > ModuleMEsMap
void createMEs(const edm::EventSetup &es, DQMStore::IBooker &ibooker)
MonitorElement * SiStripMonitorCluster::bookME1D ( const char *  ParameterSetLabel,
const char *  HistoName,
DQMStore::IBooker ibooker 
)
private

Definition at line 1256 of file SiStripMonitorCluster.cc.

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

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

1257 {
1258  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1259  return ibooker.book1D(HistoName,HistoName,
1260  Parameters.getParameter<int32_t>("Nbinx"),
1261  Parameters.getParameter<double>("xmin"),
1262  Parameters.getParameter<double>("xmax")
1263  );
1264 }
T getParameter(std::string const &) const
vector< ParameterSet > Parameters
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::string HistoName
MonitorElement * SiStripMonitorCluster::bookME2D ( const char *  ParameterSetLabel,
const char *  HistoName,
DQMStore::IBooker ibooker 
)
private

Definition at line 1267 of file SiStripMonitorCluster.cc.

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

Referenced by createLayerMEs().

1268 {
1269  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1270  return ibooker.book2D(HistoName,HistoName,
1271  Parameters.getParameter<int32_t>("Nbinsx"),
1272  Parameters.getParameter<double>("xmin"),
1273  Parameters.getParameter<double>("xmax"),
1274  Parameters.getParameter<int32_t>("Nbinsy"),
1275  Parameters.getParameter<double>("ymin"),
1276  Parameters.getParameter<double>("ymax")
1277  );
1278 }
T getParameter(std::string const &) const
vector< ParameterSet > Parameters
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::string HistoName
MonitorElement * SiStripMonitorCluster::bookMETrend ( const char *  HistoName,
DQMStore::IBooker ibooker 
)
private

Definition at line 1241 of file SiStripMonitorCluster.cc.

References DQMStore::IBooker::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), MonitorElement::kind(), MonitorElement::setAxisTitle(), AlCaHLTBitMon_QueryRunRegistry::string, and trendVsLs_.

Referenced by createLayerMEs().

1242 {
1243  edm::ParameterSet ParametersTrend = trendVsLs_ ? conf_.getParameter<edm::ParameterSet>("TrendingLS") : conf_.getParameter<edm::ParameterSet>("Trending");
1245  ParametersTrend.getParameter<int32_t>("Nbins"),
1246  ParametersTrend.getParameter<double>("xmin"),
1247  ParametersTrend.getParameter<double>("xmax"),
1248  0 , 0 , "" );
1249  if(!me) return me;
1250  me->setAxisTitle(ParametersTrend.getParameter<std::string>("xaxis"),1);
1251  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetCanExtend(TH1::kAllAxes);
1252  return me;
1253 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
TH1 * getTH1(void) const
Kind kind(void) const
Get the type of the monitor element.
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,
DQMStore::IBooker ibooker 
)
private

Definition at line 951 of file SiStripMonitorCluster.cc.

References bookME1D(), bookME2D(), bookMETrend(), DQMStore::IBooker::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, diffTwoXMLs::label, layer_clusterWidth_vs_amplitude_on, 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::LayerClusWidthVsAmpTH2, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancy, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancyTrend, LayerMEsMap, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterProfile, layerswitchcluschargeon, layerswitchclusnoiseon, layerswitchclusstonon, layerswitchclusterwidthprofon, layerswitchcluswidthon, layerswitchlocaloccupancy, layerswitchnumclusterprofon, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by createMEs().

951  {
952 
953  SiStripHistoId hidmanager;
954 
955  LayerMEs layerMEs;
956  layerMEs.LayerClusterStoN = 0;
957  layerMEs.LayerClusterStoNTrend = 0;
958  layerMEs.LayerClusterCharge = 0;
959  layerMEs.LayerClusterChargeTrend = 0;
960  layerMEs.LayerClusterNoise = 0;
961  layerMEs.LayerClusterNoiseTrend = 0;
962  layerMEs.LayerClusterWidth = 0;
963  layerMEs.LayerClusterWidthTrend = 0;
964  layerMEs.LayerLocalOccupancy = 0;
965  layerMEs.LayerLocalOccupancyTrend = 0;
966  layerMEs.LayerNumberOfClusterProfile = 0;
967  layerMEs.LayerClusterWidthProfile = 0;
968  layerMEs.LayerClusWidthVsAmpTH2 = 0;
969 
970  //Cluster Width
972  layerMEs.LayerClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth","layer",label,"").c_str() , ibooker );
973  if (createTrendMEs)
974  layerMEs.LayerClusterWidthTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterWidth","layer",label,"").c_str() , ibooker );
975  }
976 
977  //Cluster Noise
979  layerMEs.LayerClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise","layer",label,"").c_str() , ibooker );
980  if (createTrendMEs)
981  layerMEs.LayerClusterNoiseTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterNoise","layer",label,"").c_str() , ibooker);
982  }
983 
984  //Cluster Charge
986  layerMEs.LayerClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge","layer",label,"").c_str() , ibooker );
987  if (createTrendMEs)
988  layerMEs.LayerClusterChargeTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterCharge","layer",label,"").c_str(),ibooker);
989  }
990 
991  //Cluster StoN
993  layerMEs.LayerClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterSignalOverNoise","layer",label,"").c_str() , ibooker );
994  if (createTrendMEs)
995  layerMEs.LayerClusterStoNTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterSignalOverNoise","layer",label,"").c_str(),ibooker);
996  }
997 
998  //Cluster Occupancy
1000  layerMEs.LayerLocalOccupancy=bookME1D("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Summary_ClusterLocalOccupancy","layer",label,"").c_str() , ibooker );
1001  if (createTrendMEs)
1002  layerMEs.LayerLocalOccupancyTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterLocalOccupancy","layer",label,"").c_str(),ibooker);
1003  }
1004 
1005  // # of Cluster Profile
1007  std::string hid = hidmanager.createHistoLayer("NumberOfClusterProfile","layer",label,"");
1008  layerMEs.LayerNumberOfClusterProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 20.5);
1009  }
1010 
1011  // Cluster Width Profile
1013  std::string hid = hidmanager.createHistoLayer("ClusterWidthProfile","layer",label,"");
1014  layerMEs.LayerClusterWidthProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 20, -0.5, 19.5);
1015  }
1016 
1018  layerMEs.LayerClusWidthVsAmpTH2=bookME2D("ClusWidthVsAmpTH2", hidmanager.createHistoLayer("ClusterWidths_vs_Amplitudes","layer",label,"").c_str() , ibooker );
1019  }
1020 
1021 
1022  LayerMEsMap[label]=layerMEs;
1023 }
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
std::map< std::string, LayerMEs > LayerMEsMap
MonitorElement * bookMETrend(const char *, DQMStore::IBooker &ibooker)
MonitorElement * bookME2D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void SiStripMonitorCluster::createMEs ( const edm::EventSetup es,
DQMStore::IBooker ibooker 
)
private

Definition at line 230 of file SiStripMonitorCluster.cc.

References funct::abs(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile2D(), ClusterHisto_, clustertkhistomapon, clusterWidth_vs_amplitude_on, ClusWidthVsAmpTH2, conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), cond::rpcobgas::detid, MonitorElement::DQM_KIND_TPROFILE2D, 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, globalswitchnclusvscycletimeprof2don, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, diffTwoXMLs::label, LayerDetMap, LayerMEsMap, Mod_On_, ModuleMEsMap, NclusVsCycleTimeProf2D, NumberOfPixelClus, NumberOfStripClus, or, PixVsStripMultiplicityRegions, edm::ESHandle< class >::product(), reset_each_run, ResetModuleMEs(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::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 bookHistograms().

230  {
231 
233 
234  //Retrieve tracker topology from geometry
235  edm::ESHandle<TrackerTopology> tTopoHandle;
236  es.get<TrackerTopologyRcd>().get(tTopoHandle);
237  const TrackerTopology* const tTopo = tTopoHandle.product();
238 
239  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
241 
242  // get list of active detectors from SiStripDetCabling
243  std::vector<uint32_t> activeDets;
244  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
245 
246  SiStripSubStructure substructure;
247 
248  SiStripFolderOrganizer folder_organizer;
249  folder_organizer.setSiStripFolderName(topFolderName_);
250  folder_organizer.setSiStripFolder();
251 
252 
253  // Create TkHistoMap for Cluster
254  if (clustertkhistomapon) {
255  // std::cout << "[SiStripMonitorCluster::createMEs] topFolderName_: " << topFolderName_ << " ";
256  if ( (topFolderName_ == "SiStrip") or (std::string::npos != topFolderName_.find("HLT")) )
257  tkmapcluster = new TkHistoMap(ibooker , topFolderName_,"TkHMap_NumberOfCluster",0.,true);
258  else tkmapcluster = new TkHistoMap(ibooker , topFolderName_+"/TkHistoMap","TkHMap_NumberOfCluster",0.,false);
259  }
260 
261  // loop over detectors and book MEs
262  edm::LogInfo("SiStripTkDQM|SiStripMonitorCluster")<<"nr. of activeDets: "<<activeDets.size();
263  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
264  uint32_t detid = (*detid_iterator);
265  // remove any eventual zero elements - there should be none, but just in case
266  if(detid == 0) {
267  activeDets.erase(detid_iterator);
268  continue;
269  }
270 
271  if (Mod_On_) {
272  ModMEs mod_single;
273  // set appropriate folder using SiStripFolderOrganizer
274  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
275  if (reset_each_run) ResetModuleMEs(detid);
276  createModuleMEs(mod_single, detid , ibooker);
277  // append to ModuleMEsMap
278  ModuleMEsMap.insert( std::make_pair(detid, mod_single));
279  }
280 
281  // Create Layer Level MEs if they are not created already
282  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
283  SiStripHistoId hidmanager;
284  std::string label = hidmanager.getSubdetid(detid,tTopo,false);
285 
286  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
287  if(iLayerME==LayerMEsMap.end()) {
288 
289  // get detids for the layer
290  int32_t lnumber = det_layer_pair.second;
291  std::vector<uint32_t> layerDetIds;
292  if (det_layer_pair.first == "TIB") {
293  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
294  } else if (det_layer_pair.first == "TOB") {
295  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
296  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
297  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
298  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
299  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
300  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
301  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
302  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
303  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
304  }
305  LayerDetMap[label] = layerDetIds;
306 
307  // book Layer MEs
308  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second);
309  createLayerMEs(label, layerDetIds.size() , ibooker );
310  }
311  // book sub-detector plots
312  auto sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
313  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
314  ibooker.setCurrentFolder(sdet_pair.first);
315 
316  createSubDetMEs(sdet_pair.second , ibooker );
317  }
318  }//end of loop over detectors
319 
320  // Create Global Histogram
322  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
323  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2ApvCycleVsDBxGlobal");
324  std::string HistoName = "DeltaBx_vs_ApvCycle";
325  GlobalApvCycleDBxTH2 = ibooker.book2D(HistoName,HistoName,
326  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
327  GlobalTH2Parameters.getParameter<double>("xmin"),
328  GlobalTH2Parameters.getParameter<double>("xmax"),
329  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
330  GlobalTH2Parameters.getParameter<double>("ymin"),
331  GlobalTH2Parameters.getParameter<double>("ymax"));
332  GlobalApvCycleDBxTH2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
333  GlobalApvCycleDBxTH2->setAxisTitle("Delta Bunch Crossing Cycle",2);
334  }
335 
337  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
338  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2CStripVsCpixel");
339  std::string HistoName = "StripClusVsPixClus";
340  GlobalCStripVsCpix = ibooker.book2D(HistoName,HistoName,
341  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
342  GlobalTH2Parameters.getParameter<double>("xmin"),
343  GlobalTH2Parameters.getParameter<double>("xmax"),
344  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
345  GlobalTH2Parameters.getParameter<double>("ymin"),
346  GlobalTH2Parameters.getParameter<double>("ymax"));
347  GlobalCStripVsCpix->setAxisTitle("Strip Clusters",1);
348  GlobalCStripVsCpix->setAxisTitle("Pix Clusters",2);
349  }
350 
352  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
353  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH1MultiplicityRegions");
354  std::string HistoName = "ClusterMultiplicityRegions";
355  PixVsStripMultiplicityRegions = ibooker.book1D(HistoName,HistoName,
356  GlobalTH2Parameters.getParameter<int32_t>("Nbinx"),
357  GlobalTH2Parameters.getParameter<double>("xmin"),
358  GlobalTH2Parameters.getParameter<double>("xmax"));
360  PixVsStripMultiplicityRegions->setBinLabel(1,"Main Diagonal");
361  PixVsStripMultiplicityRegions->setBinLabel(2,"Strip Noise");
362  PixVsStripMultiplicityRegions->setBinLabel(3,"High Strip Noise");
363  PixVsStripMultiplicityRegions->setBinLabel(4,"Beam Background");
364  PixVsStripMultiplicityRegions->setBinLabel(5,"No Strip Clusters");
365  }
366 
368  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
369  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1MainDiagonalPosition");
370  std::string HistoName = "MainDiagonal Position";
371  GlobalMainDiagonalPosition = ibooker.book1D(HistoName,HistoName,
372  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
373  GlobalTH1Parameters.getParameter<double>("xmin"),
374  GlobalTH1Parameters.getParameter<double>("xmax"));
375  GlobalMainDiagonalPosition->setAxisTitle("atan(NPix/(k*NStrip))");
376  }
377 
378  // TO BE ADDED !!!
379  /*
380  if ( globalswitchapvcycledbxth2on or globalswitchcstripvscpix or globalswitchMultiRegions or ClusterHisto_ ) {
381  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
382  std::string HistoName = "BPTX rate";
383  BPTXrateTrend = ibooker.bookProfile(HistoName,HistoName, LSBin, LSMin, LSMax, 0, 10000.,"");
384  BPTXrateTrend->getTH1()->SetCanExtend(TH1::kAllAxes);
385  BPTXrateTrend->setAxisTitle("#Lumi section",1);
386  BPTXrateTrend->setAxisTitle("Number of BPTX events per LS",2);
387  }
388  */
389 
391  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
392  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise2ApvCycle");
393  std::string HistoName = "StripNoise_ApvCycle";
394  StripNoise2Cycle = ibooker.book1D(HistoName,HistoName,
395  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
396  GlobalTH1Parameters.getParameter<double>("xmin"),
397  GlobalTH1Parameters.getParameter<double>("xmax"));
398  StripNoise2Cycle->setAxisTitle("APV Cycle");
399  }
400 
402  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
403  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise3ApvCycle");
404  std::string HistoName = "HighStripNoise_ApvCycle";
405  StripNoise3Cycle = ibooker.book1D(HistoName,HistoName,
406  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
407  GlobalTH1Parameters.getParameter<double>("xmin"),
408  GlobalTH1Parameters.getParameter<double>("xmax"));
409  StripNoise3Cycle->setAxisTitle("APV Cycle");
410  }
411 
413  const char* HistoName = "StripClusVsBXandOrbit";
414  const char* HistoTitle = "Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX mod(70);time [Orb#]";
415  edm::ParameterSet ParametersNclusVsCycleTimeProf2D = conf_.getParameter<edm::ParameterSet>("NclusVsCycleTimeProf2D");
416  NclusVsCycleTimeProf2D = ibooker.bookProfile2D ( HistoName , HistoTitle ,
417  ParametersNclusVsCycleTimeProf2D.getParameter<int32_t>("Nbins"),
418  ParametersNclusVsCycleTimeProf2D.getParameter<double>("xmin"),
419  ParametersNclusVsCycleTimeProf2D.getParameter<double>("xmax"),
420  ParametersNclusVsCycleTimeProf2D.getParameter<int32_t>("Nbinsy"),
421  ParametersNclusVsCycleTimeProf2D.getParameter<double>("ymin"),
422  ParametersNclusVsCycleTimeProf2D.getParameter<double>("ymax"),
423  0 , 0 );
424  if (NclusVsCycleTimeProf2D->kind() == MonitorElement::DQM_KIND_TPROFILE2D) NclusVsCycleTimeProf2D->getTH1()->SetCanExtend(TH1::kAllAxes);
425  }
427  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
428  edm::ParameterSet ParametersClusWidthVsAmpTH2 = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
429  const char* HistoName = "ClusterWidths_vs_Amplitudes";
430  const char* HistoTitle = "Cluster widths vs amplitudes;Amplitudes (integrated ADC counts);Cluster widths";
431  ClusWidthVsAmpTH2 = ibooker.book2D(HistoName,HistoTitle,
432  ParametersClusWidthVsAmpTH2.getParameter<int32_t>("Nbinsx"),
433  ParametersClusWidthVsAmpTH2.getParameter<double>("xmin"),
434  ParametersClusWidthVsAmpTH2.getParameter<double>("xmax"),
435  ParametersClusWidthVsAmpTH2.getParameter<int32_t>("Nbinsy"),
436  ParametersClusWidthVsAmpTH2.getParameter<double>("ymin"),
437  ParametersClusWidthVsAmpTH2.getParameter<double>("ymax"));
438  }
439 
440  if (ClusterHisto_){
441  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
442  edm::ParameterSet PixelCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusPx");
443  std::string HistoName = "NumberOfClustersInPixel";
444  NumberOfPixelClus = ibooker.book1D(HistoName, HistoName,
445  PixelCluster.getParameter<int32_t>("Nbinsx"),
446  PixelCluster.getParameter<double>("xmin"),
447  PixelCluster.getParameter<double>("xmax"));
448  NumberOfPixelClus->setAxisTitle("# of Clusters in Pixel", 1);
449  NumberOfPixelClus->setAxisTitle("Number of Events", 2);
450  //
451  edm::ParameterSet StripCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusStrip");
452  HistoName = "NumberOfClustersInStrip";
453  NumberOfStripClus = ibooker.book1D(HistoName, HistoName,
454  StripCluster.getParameter<int32_t>("Nbinsx"),
455  StripCluster.getParameter<double>("xmin"),
456  StripCluster.getParameter<double>("xmax"));
457  NumberOfStripClus->setAxisTitle("# of Clusters in Strip", 1);
458  NumberOfStripClus->setAxisTitle("Number of Events", 2);
459  }
460 
461  }//end of if
462 }//end of method
void ResetModuleMEs(uint32_t idet)
T getParameter(std::string const &) const
void setSiStripFolderName(std::string name)
MonitorElement * PixVsStripMultiplicityRegions
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
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
void createLayerMEs(std::string label, int ndets, DQMStore::IBooker &ibooker)
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)
void createSubDetMEs(std::string label, DQMStore::IBooker &ibooker)
std::map< uint32_t, ModMEs > ModuleMEsMap
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
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:163
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
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 * ClusWidthVsAmpTH2
MonitorElement * GlobalMainDiagonalPosition
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=0)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
const T & get() const
Definition: EventSetup.h:56
T const * product() const
Definition: ESHandle.h:86
std::string HistoName
MonitorElement * StripNoise3Cycle
void createModuleMEs(ModMEs &mod_single, uint32_t detid, DQMStore::IBooker &ibooker)
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
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
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * NclusVsCycleTimeProf2D
void SiStripMonitorCluster::createModuleMEs ( ModMEs mod_single,
uint32_t  detid,
DQMStore::IBooker ibooker 
)
private

Definition at line 832 of file SiStripMonitorCluster.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), bookME1D(), DQMStore::IBooker::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(), edm::ParameterSet::getParameter(), MonitorElement::getTH1(), module_clusterWidth_vs_amplitude_on, SiStripMonitorCluster::ModMEs::Module_ClusWidthVsAmpTH2, SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, SiStripMonitorClusterAlca_cfi::Nbinsx, SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, SiStripMonitorCluster::ModMEs::NumberOfClusters, MonitorElement::setAxisTitle(), SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::IBooker::tag().

Referenced by createMEs().

832  {
833 
834  // use SistripHistoId for producing histogram id (and title)
835  SiStripHistoId hidmanager;
836  std::string hid;
837 
838  //nr. of clusters per module
839  if(moduleswitchncluson) {
840  hid = hidmanager.createHistoId("NumberOfClusters","det",detid);
841  mod_single.NumberOfClusters = bookME1D("TH1nClusters", hid.c_str() , ibooker);
842  ibooker.tag(mod_single.NumberOfClusters, detid);
843  mod_single.NumberOfClusters->setAxisTitle("number of clusters in one detector module");
844  mod_single.NumberOfClusters->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
845  }
846 
847  //ClusterPosition
849  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
850  hid = hidmanager.createHistoId("ClusterPosition","det",detid);
851  mod_single.ClusterPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
852  ibooker.tag(mod_single.ClusterPosition, detid);
853  mod_single.ClusterPosition->setAxisTitle("cluster position [strip number +0.5]");
854  }
855 
856  //ClusterDigiPosition
858  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
859  hid = hidmanager.createHistoId("ClusterDigiPosition","det",detid);
860  mod_single.ClusterDigiPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
861  ibooker.tag(mod_single.ClusterDigiPosition, detid);
862  mod_single.ClusterDigiPosition->setAxisTitle("digi in cluster position [strip number +0.5]");
863  }
864 
865  //ClusterWidth
867  hid = hidmanager.createHistoId("ClusterWidth","det",detid);
868  mod_single.ClusterWidth = bookME1D("TH1ClusterWidth", hid.c_str() , ibooker);
869  ibooker.tag(mod_single.ClusterWidth, detid);
870  mod_single.ClusterWidth->setAxisTitle("cluster width [nr strips]");
871  }
872 
873  //ClusterCharge
875  hid = hidmanager.createHistoId("ClusterCharge","det",detid);
876  mod_single.ClusterCharge = bookME1D("TH1ClusterCharge", hid.c_str() , ibooker );
877  ibooker.tag(mod_single.ClusterCharge, detid);
878  mod_single.ClusterCharge->setAxisTitle("cluster charge [ADC]");
879  }
880 
881  //ClusterNoise
883  hid = hidmanager.createHistoId("ClusterNoise","det",detid);
884  mod_single.ClusterNoise = bookME1D("TH1ClusterNoise", hid.c_str() , ibooker );
885  ibooker.tag(mod_single.ClusterNoise, detid);
886  mod_single.ClusterNoise->setAxisTitle("cluster noise");
887  }
888 
889  //ClusterSignalOverNoise
891  hid = hidmanager.createHistoId("ClusterSignalOverNoise","det",detid);
892  mod_single.ClusterSignalOverNoise = bookME1D("TH1ClusterStoN", hid.c_str() , ibooker);
893  ibooker.tag(mod_single.ClusterSignalOverNoise, detid);
894  mod_single.ClusterSignalOverNoise->setAxisTitle("ratio of signal to noise for each cluster");
895  }
896 
897  //ClusterSignalOverNoiseVsPos
899  hid = hidmanager.createHistoId("ClusterSignalOverNoiseVsPos","det",detid);
900  Parameters = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNVsPos");
901  mod_single.ClusterSignalOverNoiseVsPos= ibooker.bookProfile(hid.c_str(),hid.c_str(),
902  Parameters.getParameter<int32_t>("Nbinx"),
903  Parameters.getParameter<double>("xmin"),
904  Parameters.getParameter<double>("xmax"),
905  Parameters.getParameter<int32_t>("Nbiny"),
906  Parameters.getParameter<double>("ymin"),
907  Parameters.getParameter<double>("ymax")
908  );
909  ibooker.tag(mod_single.ClusterSignalOverNoiseVsPos, detid);
910  mod_single.ClusterSignalOverNoiseVsPos->setAxisTitle("pos");
911  }
912 
913  //ModuleLocalOccupancy
915  hid = hidmanager.createHistoId("ClusterLocalOccupancy","det",detid);
916  mod_single.ModuleLocalOccupancy = bookME1D("TH1ModuleLocalOccupancy", hid.c_str() , ibooker);
917  ibooker.tag(mod_single.ModuleLocalOccupancy, detid);
918  mod_single.ModuleLocalOccupancy->setAxisTitle("module local occupancy [% of clusterized strips]");
919  }
920 
921  //NrOfClusterizedStrips
923  hid = hidmanager.createHistoId("NrOfClusterizedStrips","det",detid);
924  mod_single.NrOfClusterizedStrips = bookME1D("TH1NrOfClusterizedStrips", hid.c_str() , ibooker );
925  ibooker.tag(mod_single.NrOfClusterizedStrips, detid);
926  mod_single.NrOfClusterizedStrips->setAxisTitle("number of clusterized strips");
927  }
928 
930  hid = hidmanager.createHistoId("ClusterWidths_vs_Amplitudes","det",detid);
931  Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
932  int32_t Nbinsx = Parameters.getParameter<int32_t>("Nbinsx");
933  Nbinsx = Nbinsx/2; //Without this "rebinning" the job is killed on lxplus. We think it's due to the high memory needed to create all those histograms.
934  mod_single.Module_ClusWidthVsAmpTH2 = ibooker.book2D(hid.c_str() , hid.c_str(),
935  Nbinsx,
936  Parameters.getParameter<double>("xmin"),
937  Parameters.getParameter<double>("xmax"),
938  Parameters.getParameter<int32_t>("Nbinsy"),
939  Parameters.getParameter<double>("ymin"),
940  Parameters.getParameter<double>("ymax")
941  );
942  ibooker.tag(mod_single.Module_ClusWidthVsAmpTH2, detid);
943  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
944  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
945  }
946 
947 }
T getParameter(std::string const &) const
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
vector< ParameterSet > Parameters
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void tag(MonitorElement *, unsigned int)
Definition: DQMStore.cc:286
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
void SiStripMonitorCluster::createSubDetMEs ( std::string  label,
DQMStore::IBooker ibooker 
)
private

Definition at line 1027 of file SiStripMonitorCluster.cc.

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

Referenced by createMEs().

1027  {
1028 
1029  SubDetMEs subdetMEs;
1030  subdetMEs.totNClusters = 0;
1031  subdetMEs.SubDetTotClusterTH1 = 0;
1032  subdetMEs.SubDetTotClusterProf = 0;
1033  subdetMEs.SubDetClusterApvProf = 0;
1034  subdetMEs.SubDetClusterApvTH2 = 0;
1035  subdetMEs.SubDetClusterDBxCycleProf = 0;
1036  subdetMEs.SubDetApvDBxProf2 = 0;
1037  subdetMEs.SubDetClusterChargeTH1 = 0;
1038  subdetMEs.SubDetClusterWidthTH1 = 0;
1039  subdetMEs.SubDetClusWidthVsAmpTH2 = 0;
1040 
1042  // cluster charge
1044  HistoName = "ClusterCharge__" + label;
1045  subdetMEs.SubDetClusterChargeTH1 = bookME1D("TH1ClusterCharge",HistoName.c_str() , ibooker);
1046  subdetMEs.SubDetClusterChargeTH1->setAxisTitle("Cluster charge [ADC counts]");
1047  subdetMEs.SubDetClusterChargeTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1048  }
1049  // cluster width
1051  HistoName = "ClusterWidth__" + label;
1052  subdetMEs.SubDetClusterWidthTH1 = bookME1D("TH1ClusterWidth",HistoName.c_str() , ibooker);
1053  subdetMEs.SubDetClusterWidthTH1->setAxisTitle("Cluster width [strips]");
1054  subdetMEs.SubDetClusterWidthTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1055  }
1056  // Total Number of Cluster - 1D
1058  HistoName = "TotalNumberOfCluster__" + label;
1059  subdetMEs.SubDetTotClusterTH1 = bookME1D("TH1TotalNumberOfClusters",HistoName.c_str() , ibooker);
1060  subdetMEs.SubDetTotClusterTH1->setAxisTitle("Total number of clusters in subdetector");
1061  subdetMEs.SubDetTotClusterTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1062  }
1063  // Total Number of Cluster vs Time - Profile
1066  HistoName = "TotalNumberOfClusterProfile__" + label;
1067  subdetMEs.SubDetTotClusterProf = ibooker.bookProfile(HistoName,HistoName,
1068  Parameters.getParameter<int32_t>("Nbins"),
1069  Parameters.getParameter<double>("xmin"),
1070  Parameters.getParameter<double>("xmax"),
1071  0 , 0 , "" );
1072  subdetMEs.SubDetTotClusterProf->setAxisTitle(Parameters.getParameter<std::string>("xaxis"),1);
1073  if (subdetMEs.SubDetTotClusterProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotClusterProf->getTH1()->SetCanExtend(TH1::kAllAxes);
1074  }
1075 
1076  // Total Number of Cluster vs APV cycle - Profile
1078  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
1079  HistoName = "Cluster_vs_ApvCycle__" + label;
1080  subdetMEs.SubDetClusterApvProf=ibooker.bookProfile(HistoName,HistoName,
1081  Parameters.getParameter<int32_t>("Nbins"),
1082  Parameters.getParameter<double>("xmin"),
1083  Parameters.getParameter<double>("xmax"),
1084  200, //that parameter should not be there !?
1085  Parameters.getParameter<double>("ymin"),
1086  Parameters.getParameter<double>("ymax"),
1087  "" );
1088  subdetMEs.SubDetClusterApvProf->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70)",1);
1089  }
1090 
1091  // Total Number of Clusters vs ApvCycle - 2D
1093  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
1094  HistoName = "Cluster_vs_ApvCycle_2D__" + label;
1095  // Adjusting the scale for 2D histogram
1096  double h2ymax = 9999.0;
1097  double yfact = Parameters.getParameter<double>("yfactor");
1098  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
1099  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
1100  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
1101  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
1102 
1103  subdetMEs.SubDetClusterApvTH2=ibooker.book2D(HistoName,HistoName,
1104  Parameters.getParameter<int32_t>("Nbinsx"),
1105  Parameters.getParameter<double>("xmin"),
1106  Parameters.getParameter<double>("xmax"),
1107  Parameters.getParameter<int32_t>("Nbinsy"),
1108  Parameters.getParameter<double>("ymin"),
1109  h2ymax);
1110  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70))",1);
1111  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Total # of Clusters",2);
1112 
1113  }
1114 
1115  // Cluster widths vs amplitudes - 2D
1117  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
1118  HistoName = "ClusterWidths_vs_Amplitudes__" + label;
1119  subdetMEs.SubDetClusWidthVsAmpTH2=ibooker.book2D(HistoName,HistoName,
1120  Parameters.getParameter<int32_t>("Nbinsx"),
1121  Parameters.getParameter<double>("xmin"),
1122  Parameters.getParameter<double>("xmax"),
1123  Parameters.getParameter<int32_t>("Nbinsy"),
1124  Parameters.getParameter<double>("ymin"),
1125  Parameters.getParameter<double>("ymax"));
1126  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
1127  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
1128 
1129  }
1130 
1131 
1132 
1133  // Total Number of Cluster vs DeltaBxCycle - Profile
1135  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
1136  HistoName = "Cluster_vs_DeltaBxCycle__" + label;
1137  subdetMEs.SubDetClusterDBxCycleProf = ibooker.bookProfile(HistoName,HistoName,
1138  Parameters.getParameter<int32_t>("Nbins"),
1139  Parameters.getParameter<double>("xmin"),
1140  Parameters.getParameter<double>("xmax"),
1141  200, //that parameter should not be there !?
1142  Parameters.getParameter<double>("ymin"),
1143  Parameters.getParameter<double>("ymax"),
1144  "" );
1145  subdetMEs.SubDetClusterDBxCycleProf->setAxisTitle("Delta Bunch Crossing Cycle",1);
1146  }
1147  // DeltaBx vs ApvCycle - 2DProfile
1149  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
1150  HistoName = "DeltaBx_vs_ApvCycle__" + label;
1151  subdetMEs.SubDetApvDBxProf2 = ibooker.bookProfile2D(HistoName,HistoName,
1152  Parameters.getParameter<int32_t>("Nbinsx"),
1153  Parameters.getParameter<double>("xmin"),
1154  Parameters.getParameter<double>("xmax"),
1155  Parameters.getParameter<int32_t>("Nbinsy"),
1156  Parameters.getParameter<double>("ymin"),
1157  Parameters.getParameter<double>("ymax"),
1158  Parameters.getParameter<double>("zmin"),
1159  Parameters.getParameter<double>("zmax"),
1160  "" );
1161  subdetMEs.SubDetApvDBxProf2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
1162  subdetMEs.SubDetApvDBxProf2->setAxisTitle("Delta Bunch Crossing Cycle",2);
1163  }
1164  SubDetMEsMap[label]=subdetMEs;
1165 }
T getParameter(std::string const &) const
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
vector< ParameterSet > Parameters
MonitorElement * bookProfile2D(Args &&...args)
Definition: DQMStore.h:163
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::string HistoName
std::map< std::string, SubDetMEs > SubDetMEsMap
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorCluster::dqmBeginRun ( const edm::Run run,
const edm::EventSetup es 
)
virtual

Reimplemented from DQMEDAnalyzer.

Definition at line 218 of file SiStripMonitorCluster.cc.

References genTriggerEventFlagBPTXfilter_, genTriggerEventFlagPixelDCSfilter_, genTriggerEventFlagStripDCSfilter_, GenericTriggerEventFlag::initRun(), and GenericTriggerEventFlag::on().

218  {
219 
220  // Initialize the GenericTriggerEventFlag
227 }
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
void SiStripMonitorCluster::fillLayerMEs ( LayerMEs layerMEs,
ClusterProperties cluster 
)
private

Definition at line 1206 of file SiStripMonitorCluster.cc.

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

Referenced by analyze().

1206  {
1207 
1208  if(layerswitchclusstonon) {
1209  fillME(layerMEs.LayerClusterStoN ,cluster.charge/cluster.noise);
1210  if (createTrendMEs) {
1211  fillME(layerMEs.LayerClusterStoNTrend,trendVar,cluster.charge/cluster.noise);
1212  }
1213  }
1214 
1216  fillME(layerMEs.LayerClusterCharge,cluster.charge);
1217  if (createTrendMEs) {
1218  fillME(layerMEs.LayerClusterChargeTrend,trendVar,cluster.charge);
1219  }
1220  }
1221 
1223  fillME(layerMEs.LayerClusterNoise ,cluster.noise);
1224  if (createTrendMEs) {
1225  fillME(layerMEs.LayerClusterNoiseTrend,trendVar,cluster.noise);
1226  }
1227  }
1228 
1230  fillME(layerMEs.LayerClusterWidth ,cluster.width);
1231  if (createTrendMEs) {
1232  fillME(layerMEs.LayerClusterWidthTrend,trendVar,cluster.width);
1233  }
1234  }
1235 
1237  fillME(layerMEs.LayerClusWidthVsAmpTH2, cluster.charge, cluster.width);
1238  }
1239 }
void fillME(MonitorElement *ME, float value1)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 124 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

Referenced by analyze(), and fillLayerMEs().

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

Definition at line 125 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

125 {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 126 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

126 {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 127 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

127 {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 1170 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(), module_clusterWidth_vs_amplitude_on, SiStripMonitorCluster::ModMEs::Module_ClusWidthVsAmpTH2, moduleswitchcluschargeon, moduleswitchclusdigiposon, moduleswitchclusnoiseon, moduleswitchclusposon, moduleswitchclusstonon, moduleswitchclusstonVsposon, moduleswitchcluswidthon, SiStripMonitorCluster::ClusterProperties::noise, SiStripMonitorCluster::ClusterProperties::position, SiStripMonitorCluster::ClusterProperties::start, and SiStripMonitorCluster::ClusterProperties::width.

Referenced by analyze().

1170  {
1171 
1172  if(moduleswitchclusposon && (mod_mes.ClusterPosition)) // position of cluster
1173  (mod_mes.ClusterPosition)->Fill(cluster.position);
1174 
1175  // position of digis in cluster
1176  if(moduleswitchclusdigiposon && (mod_mes.ClusterDigiPosition)) {
1177  for(int ipos=cluster.start+1; ipos<=cluster.start+cluster.width; ipos++){
1178  (mod_mes.ClusterDigiPosition)->Fill(ipos);
1179  }
1180  }
1181 
1182  if(moduleswitchcluswidthon && (mod_mes.ClusterWidth)) // width of cluster
1183  (mod_mes.ClusterWidth)->Fill(static_cast<float>(cluster.width));
1184 
1185  if(moduleswitchclusstonon && (mod_mes.ClusterSignalOverNoise)) {// SignalToNoise
1186  if (cluster.noise > 0)
1187  (mod_mes.ClusterSignalOverNoise)->Fill(cluster.charge/cluster.noise);
1188  }
1189 
1190  if(moduleswitchclusstonVsposon && (mod_mes.ClusterSignalOverNoiseVsPos)) {// SignalToNoise
1191  if (cluster.noise > 0)
1192  (mod_mes.ClusterSignalOverNoiseVsPos)->Fill(cluster.position,cluster.charge/cluster.noise);
1193  }
1194 
1195  if(moduleswitchclusnoiseon && (mod_mes.ClusterNoise)) // Noise
1196  (mod_mes.ClusterNoise)->Fill(cluster.noise);
1197 
1198  if(moduleswitchcluschargeon && (mod_mes.ClusterCharge)) // charge of cluster
1199  (mod_mes.ClusterCharge)->Fill(cluster.charge);
1200 
1201  if(module_clusterWidth_vs_amplitude_on) (mod_mes.Module_ClusWidthVsAmpTH2)->Fill(cluster.charge, cluster.width);
1202 }
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int SiStripMonitorCluster::FindRegion ( int  nstrip,
int  npixel 
)
private

Definition at line 1281 of file SiStripMonitorCluster.cc.

References dk0, k0, maxClus, minPix, q0, and HLT_25ns14e33_v3_cff::region.

Referenced by analyze().

1281  {
1282 
1283  double kplus= k0*(1+dk0/100);
1284  double kminus=k0*(1-dk0/100);
1285  int region=0;
1286 
1287  if (nstrip!=0 && npix >= (nstrip*kminus-q0) && npix <=(nstrip*kplus+q0)) region=1;
1288  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip <= maxClus) region=2;
1289  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip > maxClus) region=3;
1290  else if (nstrip!=0 && npix > (nstrip*kplus+q0)) region=4;
1291  else if (npix > minPix && nstrip==0) region=5;
1292  return region;
1293 
1294 }
void SiStripMonitorCluster::ResetModuleMEs ( uint32_t  idet)
private

Definition at line 813 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, module_clusterWidth_vs_amplitude_on, SiStripMonitorCluster::ModMEs::Module_ClusWidthVsAmpTH2, 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 bookHistograms(), and createMEs().

813  {
814  std::map<uint32_t, ModMEs >::iterator pos = ModuleMEsMap.find(idet);
815  ModMEs mod_me = pos->second;
816 
817  if (moduleswitchncluson) mod_me.NumberOfClusters->Reset();
818  if (moduleswitchclusposon) mod_me.ClusterPosition->Reset();
819  if (moduleswitchclusdigiposon) mod_me.ClusterDigiPosition->Reset();
820  if (moduleswitchclusstonVsposon) mod_me.ClusterSignalOverNoiseVsPos->Reset();
821  if (moduleswitchcluswidthon) mod_me.ClusterWidth->Reset();
822  if (moduleswitchcluschargeon) mod_me.ClusterCharge->Reset();
823  if (moduleswitchclusnoiseon) mod_me.ClusterNoise->Reset();
824  if (moduleswitchclusstonon) mod_me.ClusterSignalOverNoise->Reset();
825  if (moduleswitchlocaloccupancy) mod_me.ModuleLocalOccupancy->Reset();
826  if (moduleswitchnrclusterizedstrip) mod_me.NrOfClusterizedStrips->Reset();
827  if (module_clusterWidth_vs_amplitude_on) mod_me.Module_ClusWidthVsAmpTH2->Reset();
828 }
std::map< uint32_t, ModMEs > ModuleMEsMap

Member Data Documentation

bool SiStripMonitorCluster::applyClusterQuality_
private

Definition at line 220 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 218 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::BPTXrateTrend = 0

Definition at line 108 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::ClusterHisto_
private

Definition at line 203 of file SiStripMonitorCluster.h.

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

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

Definition at line 216 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 215 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::clustertkhistomapon
private

Definition at line 196 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::clusterWidth_vs_amplitude_on
private

Definition at line 200 of file SiStripMonitorCluster.h.

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

MonitorElement* SiStripMonitorCluster::ClusWidthVsAmpTH2 = 0

Definition at line 110 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 232 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::dk0
private

Definition at line 228 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

int SiStripMonitorCluster::eventNb
private

Definition at line 151 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 100 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalCStripVsCpix = 0

Definition at line 101 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalMainDiagonalPosition = 0

Definition at line 103 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::globalswitchapvcycledbxth2on
private

Definition at line 193 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchcstripvscpix
private

Definition at line 194 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchmaindiagonalposition
private

Definition at line 171 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchMultiRegions
private

Definition at line 195 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchnclusvscycletimeprof2don
private

Definition at line 199 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise2apvcycle
private

Definition at line 169 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise3apvcycle
private

Definition at line 170 of file SiStripMonitorCluster.h.

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

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

Definition at line 217 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::k0
private

Definition at line 226 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layer_clusterWidth_vs_amplitude_on
private

Definition at line 167 of file SiStripMonitorCluster.h.

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

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

Definition at line 135 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 134 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluschargeon
private

Definition at line 156 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusdigiposon
private

Definition at line 160 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusnoiseon
private

Definition at line 161 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusposon
private

Definition at line 159 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusstonon
private

Definition at line 157 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusstonVsposon
private

Definition at line 158 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusterwidthprofon
private

Definition at line 166 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluswidthon
private

Definition at line 162 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchlocaloccupancy
private

Definition at line 163 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchncluson
private

Definition at line 155 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnrclusterizedstrip
private

Definition at line 164 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnumclusterprofon
private

Definition at line 165 of file SiStripMonitorCluster.h.

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

unsigned long long SiStripMonitorCluster::m_cacheID_
private

Definition at line 141 of file SiStripMonitorCluster.h.

Referenced by bookHistograms().

double SiStripMonitorCluster::maxClus
private

Definition at line 229 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

double SiStripMonitorCluster::minPix
private

Definition at line 230 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::Mod_On_
private

Definition at line 202 of file SiStripMonitorCluster.h.

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

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

Definition at line 133 of file SiStripMonitorCluster.h.

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

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

Definition at line 144 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::NclusVsCycleTimeProf2D = 0

Definition at line 109 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfPixelClus = 0

Definition at line 106 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfStripClus = 0

Definition at line 107 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

edm::ParameterSet SiStripMonitorCluster::Parameters
private

Definition at line 146 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::passBPTXfilter_
private

Definition at line 239 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::passPixelDCSfilter_
private

Definition at line 240 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::passStripDCSfilter_
private

Definition at line 241 of file SiStripMonitorCluster.h.

Referenced by analyze().

MonitorElement* SiStripMonitorCluster::PixVsStripMultiplicityRegions = 0

Definition at line 102 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

double SiStripMonitorCluster::q0
private

Definition at line 227 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

std::string SiStripMonitorCluster::qualityLabel_
private

Definition at line 206 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::reset_each_run
private

Definition at line 140 of file SiStripMonitorCluster.h.

Referenced by bookHistograms(), and createMEs().

int SiStripMonitorCluster::runNb
private

Definition at line 151 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::select_all_detectors
private

Definition at line 140 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_control_view
private

Definition at line 140 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_mechanical_structure_view
private

Definition at line 140 of file SiStripMonitorCluster.h.

Referenced by bookHistograms(), and createMEs().

bool SiStripMonitorCluster::show_readout_view
private

Definition at line 140 of file SiStripMonitorCluster.h.

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

Definition at line 143 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::sToNLowerLimit_
private

Definition at line 221 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::sToNUpperLimit_
private

Definition at line 222 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::StripNoise2Cycle = 0

Definition at line 104 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::StripNoise3Cycle = 0

Definition at line 105 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::subdet_clusterWidth_vs_amplitude_on
private

Definition at line 192 of file SiStripMonitorCluster.h.

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

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

Definition at line 136 of file SiStripMonitorCluster.h.

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

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

Definition at line 137 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycledbxprof2on
private

Definition at line 187 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleprofon
private

Definition at line 185 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleth2on
private

Definition at line 186 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluschargeon
private

Definition at line 190 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluswidthon
private

Definition at line 191 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchdbxcycleprofon
private

Definition at line 188 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusprofon
private

Definition at line 184 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusth1on
private

Definition at line 189 of file SiStripMonitorCluster.h.

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

TkHistoMap* SiStripMonitorCluster::tkmapcluster
private

Definition at line 149 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorCluster::topFolderName_
private

Definition at line 205 of file SiStripMonitorCluster.h.

Referenced by createMEs(), and SiStripMonitorCluster().

float SiStripMonitorCluster::trendVar
private

Definition at line 153 of file SiStripMonitorCluster.h.

Referenced by analyze(), and fillLayerMEs().

bool SiStripMonitorCluster::trendVsLs_
private
double SiStripMonitorCluster::widthLowerLimit_
private

Definition at line 223 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthUpperLimit_
private

Definition at line 224 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().