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 (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &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 clusterchtkhistomapon
 
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
 
TkHistoMaptkmapclusterch
 
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_, clusterchtkhistomapon, 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  clusterchtkhistomapon = conf_.getParameter<bool>("ClusterChTkHistoMap_On");
172  createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs");
173  trendVsLs_ = conf_.getParameter<bool>("TrendVsLS");
174  Mod_On_ = conf_.getParameter<bool>("Mod_On");
175  ClusterHisto_ = conf_.getParameter<bool>("ClusterHisto");
176 
177  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
178 
179 
180  // Poducer name of input StripClusterCollection
181  clusterProducerStripToken_ = consumes<edmNew::DetSetVector<SiStripCluster> >(conf_.getParameter<edm::InputTag>("ClusterProducerStrip") );
182  clusterProducerPixToken_ = consumes<edmNew::DetSetVector<SiPixelCluster> >(conf_.getParameter<edm::InputTag>("ClusterProducerPix") );
183  /*
184  clusterProducerStrip_ = conf_.getParameter<edm::InputTag>("ClusterProducerStrip");
185  clusterProducerPix_ = conf_.getParameter<edm::InputTag>("ClusterProducerPix");
186  */
187  // SiStrip Quality Label
188  qualityLabel_ = conf_.getParameter<std::string>("StripQualityLabel");
189  // cluster quality conditions
190  edm::ParameterSet cluster_condition = conf_.getParameter<edm::ParameterSet>("ClusterConditions");
191  applyClusterQuality_ = cluster_condition.getParameter<bool>("On");
192  sToNLowerLimit_ = cluster_condition.getParameter<double>("minStoN");
193  sToNUpperLimit_ = cluster_condition.getParameter<double>("maxStoN");
194  widthLowerLimit_ = cluster_condition.getParameter<double>("minWidth");
195  widthUpperLimit_ = cluster_condition.getParameter<double>("maxWidth");
196 
197  // Event History Producer
198  // historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer");
199  historyProducerToken_ = consumes<EventWithHistory>(conf_.getParameter<edm::InputTag>("HistoryProducer") );
200  // Apv Phase Producer
201  // apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer");
202  apvPhaseProducerToken_ = consumes<APVCyclePhaseCollection>(conf_.getParameter<edm::InputTag>("ApvPhaseProducer") );
203  // Create DCS Status
204  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
205  if (checkDCS) dcsStatus_ = new SiStripDCSStatus(consumesCollector());
206  else dcsStatus_ = 0;
207 
208 }
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 494 of file SiStripMonitorCluster.cc.

References GenericTriggerEventFlag::accept(), applyClusterQuality_, apvPhaseProducerToken_, edmNew::DetSet< T >::begin(), SiStripMonitorCluster::ClusterProperties::charge, clusterchtkhistomapon, ClusterHisto_, clusterProducerPixToken_, clusterProducerStripToken_, clustertkhistomapon, clusterWidth_vs_amplitude_on, ClusWidthVsAmpTH2, createTrendMEs, edmNew::DetSetVector< T >::data(), dcsStatus_, 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, Mod_On_, SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, ModuleMEsMap, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, APVCyclePhaseCollection::multiphase, NclusVsCycleTimeProf2D, SiStripMonitorCluster::ClusterProperties::noise, HLT_25ns10e33_v2_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, tkmapclusterch, SiStripMonitorCluster::SubDetMEs::totNClusters, trendVar, trendVsLs_, SiStripMonitorCluster::ClusterProperties::width, widthLowerLimit_, and widthUpperLimit_.

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

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

473 {
475  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
476  if (m_cacheID_ != cacheID) {
477  m_cacheID_ = cacheID;
478  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
479  << " Creating MEs for new Cabling ";
480 
481  createMEs(es , ibooker);
482  }
483  } else if (reset_each_run) {
484  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
485  << " Resetting MEs ";
486  for (std::map<uint32_t, ModMEs >::const_iterator idet = ModuleMEsMap.begin() ; idet!=ModuleMEsMap.end() ; idet++) {
487  ResetModuleMEs(idet->first);
488  }
489  }
490 
491 }
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 1265 of file SiStripMonitorCluster.cc.

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

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

1266 {
1267  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1268  return ibooker.book1D(HistoName,HistoName,
1269  Parameters.getParameter<int32_t>("Nbinx"),
1270  Parameters.getParameter<double>("xmin"),
1271  Parameters.getParameter<double>("xmax")
1272  );
1273 }
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 1276 of file SiStripMonitorCluster.cc.

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

Referenced by createLayerMEs().

1277 {
1278  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1279  return ibooker.book2D(HistoName,HistoName,
1280  Parameters.getParameter<int32_t>("Nbinsx"),
1281  Parameters.getParameter<double>("xmin"),
1282  Parameters.getParameter<double>("xmax"),
1283  Parameters.getParameter<int32_t>("Nbinsy"),
1284  Parameters.getParameter<double>("ymin"),
1285  Parameters.getParameter<double>("ymax")
1286  );
1287 }
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 1250 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().

1251 {
1252  edm::ParameterSet ParametersTrend = trendVsLs_ ? conf_.getParameter<edm::ParameterSet>("TrendingLS") : conf_.getParameter<edm::ParameterSet>("Trending");
1254  ParametersTrend.getParameter<int32_t>("Nbins"),
1255  ParametersTrend.getParameter<double>("xmin"),
1256  ParametersTrend.getParameter<double>("xmax"),
1257  0 , 0 , "" );
1258  if(!me) return me;
1259  me->setAxisTitle(ParametersTrend.getParameter<std::string>("xaxis"),1);
1260  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetCanExtend(TH1::kAllAxes);
1261  return me;
1262 }
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 960 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().

960  {
961 
962  SiStripHistoId hidmanager;
963 
964  LayerMEs layerMEs;
965  layerMEs.LayerClusterStoN = 0;
966  layerMEs.LayerClusterStoNTrend = 0;
967  layerMEs.LayerClusterCharge = 0;
968  layerMEs.LayerClusterChargeTrend = 0;
969  layerMEs.LayerClusterNoise = 0;
970  layerMEs.LayerClusterNoiseTrend = 0;
971  layerMEs.LayerClusterWidth = 0;
972  layerMEs.LayerClusterWidthTrend = 0;
973  layerMEs.LayerLocalOccupancy = 0;
974  layerMEs.LayerLocalOccupancyTrend = 0;
975  layerMEs.LayerNumberOfClusterProfile = 0;
976  layerMEs.LayerClusterWidthProfile = 0;
977  layerMEs.LayerClusWidthVsAmpTH2 = 0;
978 
979  //Cluster Width
981  layerMEs.LayerClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth","layer",label,"").c_str() , ibooker );
982  if (createTrendMEs)
983  layerMEs.LayerClusterWidthTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterWidth","layer",label,"").c_str() , ibooker );
984  }
985 
986  //Cluster Noise
988  layerMEs.LayerClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise","layer",label,"").c_str() , ibooker );
989  if (createTrendMEs)
990  layerMEs.LayerClusterNoiseTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterNoise","layer",label,"").c_str() , ibooker);
991  }
992 
993  //Cluster Charge
995  layerMEs.LayerClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge","layer",label,"").c_str() , ibooker );
996  if (createTrendMEs)
997  layerMEs.LayerClusterChargeTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterCharge","layer",label,"").c_str(),ibooker);
998  }
999 
1000  //Cluster StoN
1001  if(layerswitchclusstonon) {
1002  layerMEs.LayerClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterSignalOverNoise","layer",label,"").c_str() , ibooker );
1003  if (createTrendMEs)
1004  layerMEs.LayerClusterStoNTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterSignalOverNoise","layer",label,"").c_str(),ibooker);
1005  }
1006 
1007  //Cluster Occupancy
1009  layerMEs.LayerLocalOccupancy=bookME1D("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Summary_ClusterLocalOccupancy","layer",label,"").c_str() , ibooker );
1010  if (createTrendMEs)
1011  layerMEs.LayerLocalOccupancyTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterLocalOccupancy","layer",label,"").c_str(),ibooker);
1012  }
1013 
1014  // # of Cluster Profile
1016  std::string hid = hidmanager.createHistoLayer("NumberOfClusterProfile","layer",label,"");
1017  layerMEs.LayerNumberOfClusterProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 20.5);
1018  }
1019 
1020  // Cluster Width Profile
1022  std::string hid = hidmanager.createHistoLayer("ClusterWidthProfile","layer",label,"");
1023  layerMEs.LayerClusterWidthProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 20, -0.5, 19.5);
1024  }
1025 
1027  layerMEs.LayerClusWidthVsAmpTH2=bookME2D("ClusWidthVsAmpTH2", hidmanager.createHistoLayer("ClusterWidths_vs_Amplitudes","layer",label,"").c_str() , ibooker );
1028  }
1029 
1030 
1031  LayerMEsMap[label]=layerMEs;
1032 }
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 231 of file SiStripMonitorCluster.cc.

References funct::abs(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile2D(), clusterchtkhistomapon, ClusterHisto_, clustertkhistomapon, clusterWidth_vs_amplitude_on, ClusWidthVsAmpTH2, conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), 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, tkmapclusterch, and topFolderName_.

Referenced by bookHistograms().

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

841  {
842 
843  // use SistripHistoId for producing histogram id (and title)
844  SiStripHistoId hidmanager;
845  std::string hid;
846 
847  //nr. of clusters per module
848  if(moduleswitchncluson) {
849  hid = hidmanager.createHistoId("NumberOfClusters","det",detid);
850  mod_single.NumberOfClusters = bookME1D("TH1nClusters", hid.c_str() , ibooker);
851  ibooker.tag(mod_single.NumberOfClusters, detid);
852  mod_single.NumberOfClusters->setAxisTitle("number of clusters in one detector module");
853  mod_single.NumberOfClusters->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
854  }
855 
856  //ClusterPosition
858  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
859  hid = hidmanager.createHistoId("ClusterPosition","det",detid);
860  mod_single.ClusterPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
861  ibooker.tag(mod_single.ClusterPosition, detid);
862  mod_single.ClusterPosition->setAxisTitle("cluster position [strip number +0.5]");
863  }
864 
865  //ClusterDigiPosition
867  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
868  hid = hidmanager.createHistoId("ClusterDigiPosition","det",detid);
869  mod_single.ClusterDigiPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
870  ibooker.tag(mod_single.ClusterDigiPosition, detid);
871  mod_single.ClusterDigiPosition->setAxisTitle("digi in cluster position [strip number +0.5]");
872  }
873 
874  //ClusterWidth
876  hid = hidmanager.createHistoId("ClusterWidth","det",detid);
877  mod_single.ClusterWidth = bookME1D("TH1ClusterWidth", hid.c_str() , ibooker);
878  ibooker.tag(mod_single.ClusterWidth, detid);
879  mod_single.ClusterWidth->setAxisTitle("cluster width [nr strips]");
880  }
881 
882  //ClusterCharge
884  hid = hidmanager.createHistoId("ClusterCharge","det",detid);
885  mod_single.ClusterCharge = bookME1D("TH1ClusterCharge", hid.c_str() , ibooker );
886  ibooker.tag(mod_single.ClusterCharge, detid);
887  mod_single.ClusterCharge->setAxisTitle("cluster charge [ADC]");
888  }
889 
890  //ClusterNoise
892  hid = hidmanager.createHistoId("ClusterNoise","det",detid);
893  mod_single.ClusterNoise = bookME1D("TH1ClusterNoise", hid.c_str() , ibooker );
894  ibooker.tag(mod_single.ClusterNoise, detid);
895  mod_single.ClusterNoise->setAxisTitle("cluster noise");
896  }
897 
898  //ClusterSignalOverNoise
900  hid = hidmanager.createHistoId("ClusterSignalOverNoise","det",detid);
901  mod_single.ClusterSignalOverNoise = bookME1D("TH1ClusterStoN", hid.c_str() , ibooker);
902  ibooker.tag(mod_single.ClusterSignalOverNoise, detid);
903  mod_single.ClusterSignalOverNoise->setAxisTitle("ratio of signal to noise for each cluster");
904  }
905 
906  //ClusterSignalOverNoiseVsPos
908  hid = hidmanager.createHistoId("ClusterSignalOverNoiseVsPos","det",detid);
909  Parameters = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNVsPos");
910  mod_single.ClusterSignalOverNoiseVsPos= ibooker.bookProfile(hid.c_str(),hid.c_str(),
911  Parameters.getParameter<int32_t>("Nbinx"),
912  Parameters.getParameter<double>("xmin"),
913  Parameters.getParameter<double>("xmax"),
914  Parameters.getParameter<int32_t>("Nbiny"),
915  Parameters.getParameter<double>("ymin"),
916  Parameters.getParameter<double>("ymax")
917  );
918  ibooker.tag(mod_single.ClusterSignalOverNoiseVsPos, detid);
919  mod_single.ClusterSignalOverNoiseVsPos->setAxisTitle("pos");
920  }
921 
922  //ModuleLocalOccupancy
924  hid = hidmanager.createHistoId("ClusterLocalOccupancy","det",detid);
925  mod_single.ModuleLocalOccupancy = bookME1D("TH1ModuleLocalOccupancy", hid.c_str() , ibooker);
926  ibooker.tag(mod_single.ModuleLocalOccupancy, detid);
927  mod_single.ModuleLocalOccupancy->setAxisTitle("module local occupancy [% of clusterized strips]");
928  }
929 
930  //NrOfClusterizedStrips
932  hid = hidmanager.createHistoId("NrOfClusterizedStrips","det",detid);
933  mod_single.NrOfClusterizedStrips = bookME1D("TH1NrOfClusterizedStrips", hid.c_str() , ibooker );
934  ibooker.tag(mod_single.NrOfClusterizedStrips, detid);
935  mod_single.NrOfClusterizedStrips->setAxisTitle("number of clusterized strips");
936  }
937 
939  hid = hidmanager.createHistoId("ClusterWidths_vs_Amplitudes","det",detid);
940  Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
941  int32_t Nbinsx = Parameters.getParameter<int32_t>("Nbinsx");
942  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.
943  mod_single.Module_ClusWidthVsAmpTH2 = ibooker.book2D(hid.c_str() , hid.c_str(),
944  Nbinsx,
945  Parameters.getParameter<double>("xmin"),
946  Parameters.getParameter<double>("xmax"),
947  Parameters.getParameter<int32_t>("Nbinsy"),
948  Parameters.getParameter<double>("ymin"),
949  Parameters.getParameter<double>("ymax")
950  );
951  ibooker.tag(mod_single.Module_ClusWidthVsAmpTH2, detid);
952  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
953  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
954  }
955 
956 }
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:288
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 1036 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().

1036  {
1037 
1038  SubDetMEs subdetMEs;
1039  subdetMEs.totNClusters = 0;
1040  subdetMEs.SubDetTotClusterTH1 = 0;
1041  subdetMEs.SubDetTotClusterProf = 0;
1042  subdetMEs.SubDetClusterApvProf = 0;
1043  subdetMEs.SubDetClusterApvTH2 = 0;
1044  subdetMEs.SubDetClusterDBxCycleProf = 0;
1045  subdetMEs.SubDetApvDBxProf2 = 0;
1046  subdetMEs.SubDetClusterChargeTH1 = 0;
1047  subdetMEs.SubDetClusterWidthTH1 = 0;
1048  subdetMEs.SubDetClusWidthVsAmpTH2 = 0;
1049 
1051  // cluster charge
1053  HistoName = "ClusterCharge__" + label;
1054  subdetMEs.SubDetClusterChargeTH1 = bookME1D("TH1ClusterCharge",HistoName.c_str() , ibooker);
1055  subdetMEs.SubDetClusterChargeTH1->setAxisTitle("Cluster charge [ADC counts]");
1056  subdetMEs.SubDetClusterChargeTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1057  }
1058  // cluster width
1060  HistoName = "ClusterWidth__" + label;
1061  subdetMEs.SubDetClusterWidthTH1 = bookME1D("TH1ClusterWidth",HistoName.c_str() , ibooker);
1062  subdetMEs.SubDetClusterWidthTH1->setAxisTitle("Cluster width [strips]");
1063  subdetMEs.SubDetClusterWidthTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1064  }
1065  // Total Number of Cluster - 1D
1067  HistoName = "TotalNumberOfCluster__" + label;
1068  subdetMEs.SubDetTotClusterTH1 = bookME1D("TH1TotalNumberOfClusters",HistoName.c_str() , ibooker);
1069  subdetMEs.SubDetTotClusterTH1->setAxisTitle("Total number of clusters in subdetector");
1070  subdetMEs.SubDetTotClusterTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1071  }
1072  // Total Number of Cluster vs Time - Profile
1075  HistoName = "TotalNumberOfClusterProfile__" + label;
1076  subdetMEs.SubDetTotClusterProf = ibooker.bookProfile(HistoName,HistoName,
1077  Parameters.getParameter<int32_t>("Nbins"),
1078  Parameters.getParameter<double>("xmin"),
1079  Parameters.getParameter<double>("xmax"),
1080  0 , 0 , "" );
1081  subdetMEs.SubDetTotClusterProf->setAxisTitle(Parameters.getParameter<std::string>("xaxis"),1);
1082  if (subdetMEs.SubDetTotClusterProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotClusterProf->getTH1()->SetCanExtend(TH1::kAllAxes);
1083  }
1084 
1085  // Total Number of Cluster vs APV cycle - Profile
1087  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
1088  HistoName = "Cluster_vs_ApvCycle__" + label;
1089  subdetMEs.SubDetClusterApvProf=ibooker.bookProfile(HistoName,HistoName,
1090  Parameters.getParameter<int32_t>("Nbins"),
1091  Parameters.getParameter<double>("xmin"),
1092  Parameters.getParameter<double>("xmax"),
1093  200, //that parameter should not be there !?
1094  Parameters.getParameter<double>("ymin"),
1095  Parameters.getParameter<double>("ymax"),
1096  "" );
1097  subdetMEs.SubDetClusterApvProf->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70)",1);
1098  }
1099 
1100  // Total Number of Clusters vs ApvCycle - 2D
1102  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
1103  HistoName = "Cluster_vs_ApvCycle_2D__" + label;
1104  // Adjusting the scale for 2D histogram
1105  double h2ymax = 9999.0;
1106  double yfact = Parameters.getParameter<double>("yfactor");
1107  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
1108  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
1109  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
1110  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
1111 
1112  subdetMEs.SubDetClusterApvTH2=ibooker.book2D(HistoName,HistoName,
1113  Parameters.getParameter<int32_t>("Nbinsx"),
1114  Parameters.getParameter<double>("xmin"),
1115  Parameters.getParameter<double>("xmax"),
1116  Parameters.getParameter<int32_t>("Nbinsy"),
1117  Parameters.getParameter<double>("ymin"),
1118  h2ymax);
1119  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70))",1);
1120  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Total # of Clusters",2);
1121 
1122  }
1123 
1124  // Cluster widths vs amplitudes - 2D
1126  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
1127  HistoName = "ClusterWidths_vs_Amplitudes__" + label;
1128  subdetMEs.SubDetClusWidthVsAmpTH2=ibooker.book2D(HistoName,HistoName,
1129  Parameters.getParameter<int32_t>("Nbinsx"),
1130  Parameters.getParameter<double>("xmin"),
1131  Parameters.getParameter<double>("xmax"),
1132  Parameters.getParameter<int32_t>("Nbinsy"),
1133  Parameters.getParameter<double>("ymin"),
1134  Parameters.getParameter<double>("ymax"));
1135  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
1136  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
1137 
1138  }
1139 
1140 
1141 
1142  // Total Number of Cluster vs DeltaBxCycle - Profile
1144  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
1145  HistoName = "Cluster_vs_DeltaBxCycle__" + label;
1146  subdetMEs.SubDetClusterDBxCycleProf = ibooker.bookProfile(HistoName,HistoName,
1147  Parameters.getParameter<int32_t>("Nbins"),
1148  Parameters.getParameter<double>("xmin"),
1149  Parameters.getParameter<double>("xmax"),
1150  200, //that parameter should not be there !?
1151  Parameters.getParameter<double>("ymin"),
1152  Parameters.getParameter<double>("ymax"),
1153  "" );
1154  subdetMEs.SubDetClusterDBxCycleProf->setAxisTitle("Delta Bunch Crossing Cycle",1);
1155  }
1156  // DeltaBx vs ApvCycle - 2DProfile
1158  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
1159  HistoName = "DeltaBx_vs_ApvCycle__" + label;
1160  subdetMEs.SubDetApvDBxProf2 = ibooker.bookProfile2D(HistoName,HistoName,
1161  Parameters.getParameter<int32_t>("Nbinsx"),
1162  Parameters.getParameter<double>("xmin"),
1163  Parameters.getParameter<double>("xmax"),
1164  Parameters.getParameter<int32_t>("Nbinsy"),
1165  Parameters.getParameter<double>("ymin"),
1166  Parameters.getParameter<double>("ymax"),
1167  Parameters.getParameter<double>("zmin"),
1168  Parameters.getParameter<double>("zmax"),
1169  "" );
1170  subdetMEs.SubDetApvDBxProf2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
1171  subdetMEs.SubDetApvDBxProf2->setAxisTitle("Delta Bunch Crossing Cycle",2);
1172  }
1173  SubDetMEsMap[label]=subdetMEs;
1174 }
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 219 of file SiStripMonitorCluster.cc.

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

219  {
220 
221  // Initialize the GenericTriggerEventFlag
228 }
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 1215 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().

1215  {
1216 
1217  if(layerswitchclusstonon) {
1218  fillME(layerMEs.LayerClusterStoN ,cluster.charge/cluster.noise);
1219  if (createTrendMEs) {
1220  fillME(layerMEs.LayerClusterStoNTrend,trendVar,cluster.charge/cluster.noise);
1221  }
1222  }
1223 
1225  fillME(layerMEs.LayerClusterCharge,cluster.charge);
1226  if (createTrendMEs) {
1227  fillME(layerMEs.LayerClusterChargeTrend,trendVar,cluster.charge);
1228  }
1229  }
1230 
1232  fillME(layerMEs.LayerClusterNoise ,cluster.noise);
1233  if (createTrendMEs) {
1234  fillME(layerMEs.LayerClusterNoiseTrend,trendVar,cluster.noise);
1235  }
1236  }
1237 
1239  fillME(layerMEs.LayerClusterWidth ,cluster.width);
1240  if (createTrendMEs) {
1241  fillME(layerMEs.LayerClusterWidthTrend,trendVar,cluster.width);
1242  }
1243  }
1244 
1246  fillME(layerMEs.LayerClusWidthVsAmpTH2, cluster.charge, cluster.width);
1247  }
1248 }
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 1179 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().

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

Definition at line 1290 of file SiStripMonitorCluster.cc.

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

Referenced by analyze().

1290  {
1291 
1292  double kplus= k0*(1+dk0/100);
1293  double kminus=k0*(1-dk0/100);
1294  int region=0;
1295 
1296  if (nstrip!=0 && npix >= (nstrip*kminus-q0) && npix <=(nstrip*kplus+q0)) region=1;
1297  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip <= maxClus) region=2;
1298  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip > maxClus) region=3;
1299  else if (nstrip!=0 && npix > (nstrip*kplus+q0)) region=4;
1300  else if (npix > minPix && nstrip==0) region=5;
1301  return region;
1302 
1303 }
void SiStripMonitorCluster::ResetModuleMEs ( uint32_t  idet)
private

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

822  {
823  std::map<uint32_t, ModMEs >::iterator pos = ModuleMEsMap.find(idet);
824  ModMEs mod_me = pos->second;
825 
826  if (moduleswitchncluson) mod_me.NumberOfClusters->Reset();
827  if (moduleswitchclusposon) mod_me.ClusterPosition->Reset();
828  if (moduleswitchclusdigiposon) mod_me.ClusterDigiPosition->Reset();
829  if (moduleswitchclusstonVsposon) mod_me.ClusterSignalOverNoiseVsPos->Reset();
830  if (moduleswitchcluswidthon) mod_me.ClusterWidth->Reset();
831  if (moduleswitchcluschargeon) mod_me.ClusterCharge->Reset();
832  if (moduleswitchclusnoiseon) mod_me.ClusterNoise->Reset();
833  if (moduleswitchclusstonon) mod_me.ClusterSignalOverNoise->Reset();
834  if (moduleswitchlocaloccupancy) mod_me.ModuleLocalOccupancy->Reset();
835  if (moduleswitchnrclusterizedstrip) mod_me.NrOfClusterizedStrips->Reset();
836  if (module_clusterWidth_vs_amplitude_on) mod_me.Module_ClusWidthVsAmpTH2->Reset();
837 }
std::map< uint32_t, ModMEs > ModuleMEsMap

Member Data Documentation

bool SiStripMonitorCluster::applyClusterQuality_
private

Definition at line 222 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 220 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::BPTXrateTrend = 0

Definition at line 108 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::clusterchtkhistomapon
private

Definition at line 198 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::ClusterHisto_
private

Definition at line 205 of file SiStripMonitorCluster.h.

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

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

Definition at line 218 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 217 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::clustertkhistomapon
private

Definition at line 197 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::clusterWidth_vs_amplitude_on
private

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

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

double SiStripMonitorCluster::dk0
private

Definition at line 230 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

int SiStripMonitorCluster::eventNb
private

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

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

bool SiStripMonitorCluster::globalswitchcstripvscpix
private

Definition at line 195 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchmaindiagonalposition
private

Definition at line 172 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchMultiRegions
private

Definition at line 196 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchnclusvscycletimeprof2don
private

Definition at line 201 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise2apvcycle
private

Definition at line 170 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise3apvcycle
private

Definition at line 171 of file SiStripMonitorCluster.h.

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

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

Definition at line 219 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::k0
private

Definition at line 228 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layer_clusterWidth_vs_amplitude_on
private

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

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

bool SiStripMonitorCluster::layerswitchclusdigiposon
private

Definition at line 161 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusnoiseon
private

Definition at line 162 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusposon
private

Definition at line 160 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusstonon
private

Definition at line 158 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusstonVsposon
private

Definition at line 159 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusterwidthprofon
private

Definition at line 167 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluswidthon
private

Definition at line 163 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchlocaloccupancy
private

Definition at line 164 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchncluson
private

Definition at line 156 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnrclusterizedstrip
private

Definition at line 165 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnumclusterprofon
private

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

Referenced by FindRegion(), and SiStripMonitorCluster().

double SiStripMonitorCluster::minPix
private

Definition at line 232 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::Mod_On_
private

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

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::passPixelDCSfilter_
private

Definition at line 242 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::passStripDCSfilter_
private

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

Referenced by FindRegion(), and SiStripMonitorCluster().

std::string SiStripMonitorCluster::qualityLabel_
private

Definition at line 208 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 152 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 223 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::sToNUpperLimit_
private

Definition at line 224 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 193 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 188 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleprofon
private

Definition at line 186 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleth2on
private

Definition at line 187 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluschargeon
private

Definition at line 191 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluswidthon
private

Definition at line 192 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchdbxcycleprofon
private

Definition at line 189 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusprofon
private

Definition at line 185 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusth1on
private

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

TkHistoMap* SiStripMonitorCluster::tkmapclusterch
private

Definition at line 150 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorCluster::topFolderName_
private

Definition at line 207 of file SiStripMonitorCluster.h.

Referenced by createMEs(), and SiStripMonitorCluster().

float SiStripMonitorCluster::trendVar
private

Definition at line 154 of file SiStripMonitorCluster.h.

Referenced by analyze(), and fillLayerMEs().

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

Definition at line 225 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthUpperLimit_
private

Definition at line 226 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().