CMS 3D CMS Logo

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 &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 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
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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 ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

MonitorElementBPTXrateTrend = 0
 
MonitorElementClusWidthVsAmpTH2 = 0
 
MonitorElementGlobalABXTH1_CSCP = 0
 
MonitorElementGlobalApvCycleDBxTH2 = 0
 
MonitorElementGlobalCStripVsCpix = 0
 
MonitorElementGlobalDBxCycleTH1 = 0
 
MonitorElementGlobalDBxTH1 = 0
 
MonitorElementGlobalMainDiagonalPosition = 0
 
MonitorElementGlobalMainDiagonalPosition_vs_BX = 0
 
MonitorElementGlobalTH2MainDiagonalPosition_vs_BX
 
MonitorElementNclusVsCycleTimeProf2D = 0
 
MonitorElementNumberOfPixelClus = 0
 
MonitorElementNumberOfPixelClus_vs_BX = 0
 
MonitorElementNumberOfStripClus = 0
 
MonitorElementNumberOfStripClus_vs_BX = 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< APVCyclePhaseCollectionapvPhaseProducerToken_
 
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< EventWithHistoryhistoryProducerToken_
 
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, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
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::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (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 45 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_.

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

Definition at line 585 of file SiStripMonitorCluster.cc.

References TinyEvent::_orbit, funct::abs(), EventWithHistory::absoluteBX(), 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_, EventWithHistory::deltaBX(), EventWithHistory::deltaBXinCycle(), 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(), SiStripNoises::getNoise(), APVCyclePhaseCollection::getPhase(), SiStripNoises::getRange(), SiStripGain::getRange(), SiStripBadStrip::getRange(), SiStripDCSStatus::getStatus(), SiStripGain::getStripGain(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), GlobalABXTH1_CSCP, GlobalApvCycleDBxTH2, GlobalCStripVsCpix, GlobalDBxCycleTH1, GlobalDBxTH1, GlobalMainDiagonalPosition, GlobalMainDiagonalPosition_vs_BX, globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchnclusvscycletimeprof2don, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, GlobalTH2MainDiagonalPosition_vs_BX, historyProducerToken_, edm::EventBase::id(), APVCyclePhaseCollection::invalid, edm::EventBase::isRealData(), SiStripQuality::IsStripBad(), edm::HandleBase::isValid(), k0, SiStripMonitorCluster::LayerMEs::LayerClusterWidthProfile, LayerDetMap, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancy, SiStripMonitorCluster::LayerMEs::LayerLocalOccupancyTrend, LayerMEsMap, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterPerRingTrend, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterProfile, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterTrend, layerswitchclusterwidthprofon, layerswitchlocaloccupancy, layerswitchnumclusterprofon, genParticles_cff::map, Mod_On_, SiStripMonitorCluster::ModMEs::ModuleLocalOccupancy, ModuleMEsMap, moduleswitchlocaloccupancy, moduleswitchncluson, moduleswitchnrclusterizedstrip, APVCyclePhaseCollection::multiphase, SiStripDetCabling::nApvPairs(), NclusVsCycleTimeProf2D, SiStripMonitorCluster::ClusterProperties::noise, APVCyclePhaseCollection::nopartition, SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, NULL, SiStripMonitorCluster::ModMEs::NumberOfClusters, NumberOfPixelClus, NumberOfPixelClus_vs_BX, NumberOfStripClus, NumberOfStripClus_vs_BX, GenericTriggerEventFlag::on(), edm::EventBase::orbitNumber(), passBPTXfilter_, passPixelDCSfilter_, passStripDCSfilter_, PixVsStripMultiplicityRegions, SiStripMonitorCluster::ClusterProperties::position, edm::Handle< T >::product(), edm::ESHandle< T >::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_.

586 {
587  //Retrieve tracker topology from geometry
588  edm::ESHandle<TrackerTopology> tTopoHandle;
589  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
590  const TrackerTopology* const tTopo = tTopoHandle.product();
591 
592  // Filter out events if Trigger Filtering is requested
593  passBPTXfilter_ = ( iEvent.isRealData() and genTriggerEventFlagBPTXfilter_->on() ) ? genTriggerEventFlagBPTXfilter_->accept( iEvent, iSetup) : true;
596  // std::cout << "passBPTXfilter_ ? " << passBPTXfilter_ << std::endl;
597 
598  // Filter out events if DCS Event if requested
599  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent,iSetup)) return;
600 
601  runNb = iEvent.id().run();
602  eventNb++;
603  trendVar = trendVsLs_ ? iEvent.orbitNumber()/262144.0 : iEvent.orbitNumber()/11223.0; // lumisection : seconds
604 
605  int NPixClusters=0, NStripClusters=0, MultiplicityRegion=0;
606  bool isPixValid=false;
607 
608  edm::ESHandle<SiStripNoises> noiseHandle;
609  iSetup.get<SiStripNoisesRcd>().get(noiseHandle);
610 
611  edm::ESHandle<SiStripGain> gainHandle;
612  iSetup.get<SiStripGainRcd>().get(gainHandle);
613 
614  edm::ESHandle<SiStripQuality> qualityHandle;
615  iSetup.get<SiStripQualityRcd>().get(qualityLabel_,qualityHandle);
616 
618 
619  // get collection of DetSetVector of clusters from Event
621  iEvent.getByToken(clusterProducerStripToken_, cluster_detsetvektor);
622 
623  //get pixel clusters
624  edm::Handle< edmNew::DetSetVector<SiPixelCluster> > cluster_detsetvektor_pix;
625  iEvent.getByToken(clusterProducerPixToken_, cluster_detsetvektor_pix);
626 
627  if (!cluster_detsetvektor.isValid()) return;
628 
629  const edmNew::DetSetVector<SiStripCluster> * StrC= cluster_detsetvektor.product();
630  NStripClusters= StrC->data().size();
631 
632  if (cluster_detsetvektor_pix.isValid()){
633  const edmNew::DetSetVector<SiPixelCluster> * PixC= cluster_detsetvektor_pix.product();
634  NPixClusters= PixC->data().size();
635  isPixValid=true;
636  MultiplicityRegion=FindRegion(NStripClusters,NPixClusters);
637 
639  if (globalswitchcstripvscpix) GlobalCStripVsCpix->Fill(NStripClusters,NPixClusters);
640  if (globalswitchmaindiagonalposition && NStripClusters > 0) GlobalMainDiagonalPosition->Fill(atan(NPixClusters/(k0*NStripClusters)));
641 
643  }
644 
645  if (ClusterHisto_){
647  NumberOfPixelClus->Fill(NPixClusters);
648  if ( passBPTXfilter_ and passStripDCSfilter_ )
649  NumberOfStripClus->Fill(NStripClusters);
650  }
651  }
652  // initialise # of clusters to zero
653  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin();
654  iSubdet != SubDetMEsMap.end(); iSubdet++) {
655  iSubdet->second.totNClusters = 0;
656  }
657 
658  SiStripFolderOrganizer folder_organizer;
659  bool found_layer_me = false;
660  for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin();
661  iterLayer != LayerDetMap.end(); iterLayer++) {
662 
663  std::string layer_label = iterLayer->first;
664 
665  int ncluster_layer = 0;
666  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
667 
668  //get Layer MEs
669  LayerMEs layer_single;
670  if(iLayerME != LayerMEsMap.end()) {
671  layer_single = iLayerME->second;
672  found_layer_me = true;
673  }
674 
675  bool found_module_me = false;
676  uint16_t iDet = 0;
677  std::string subdet_label = "";
678  // loop over all modules in the layer
679  for (std::vector< uint32_t >::const_iterator iterDets = iterLayer->second.begin() ;
680  iterDets != iterLayer->second.end() ; iterDets++) {
681  iDet++;
682  // detid and type of ME
683  uint32_t detid = (*iterDets);
684 
685  // Get SubDet label once
686  if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid, tTopo).second;
687 
688  // DetId and corresponding set of MEs
689  ModMEs mod_single;
690  if (Mod_On_) {
691  std::map<uint32_t, ModMEs >::iterator imodME = ModuleMEsMap.find(detid);
692  if (imodME != ModuleMEsMap.end()) {
693  mod_single = imodME->second;
694  found_module_me = true;
695  }
696  } else found_module_me = false;
697 
698  edmNew::DetSetVector<SiStripCluster>::const_iterator isearch = cluster_detsetvektor->find(detid); // search clusters of detid
699 
700  if(isearch==cluster_detsetvektor->end()){
701  if(found_module_me && moduleswitchncluson && (mod_single.NumberOfClusters)){
702  (mod_single.NumberOfClusters)->Fill(0.); // no clusters for this detector module,fill histogram with 0
703  }
704  if(clustertkhistomapon) tkmapcluster->fill(detid,0.);
706  if (found_layer_me && layerswitchnumclusterprofon) layer_single.LayerNumberOfClusterProfile->Fill(iDet, 0.0);
707  continue; // no clusters for this detid => jump to next step of loop
708  }
709 
710  //cluster_detset is a structure, cluster_detset.data is a std::vector<SiStripCluster>, cluster_detset.id is uint32_t
711  // edmNew::DetSet<SiStripCluster> cluster_detset = (*cluster_detsetvektor)[detid]; // the statement above makes sure there exists an element with 'detid'
712  edmNew::DetSet<SiStripCluster> cluster_detset = (*isearch);
713 
714  // Filling TkHistoMap with number of clusters for each module
715  if(clustertkhistomapon) {
716  tkmapcluster->fill(detid,static_cast<float>(cluster_detset.size()));
717  }
718 
719  if(moduleswitchncluson && found_module_me && (mod_single.NumberOfClusters != NULL)){ // nr. of clusters per module
720  (mod_single.NumberOfClusters)->Fill(static_cast<float>(cluster_detset.size()));
721  }
722 
723  if (found_layer_me && layerswitchnumclusterprofon)
724  layer_single.LayerNumberOfClusterProfile->Fill(iDet, static_cast<float>(cluster_detset.size()));
725  ncluster_layer += cluster_detset.size();
726 
727  short total_clusterized_strips = 0;
728 
729  SiStripNoises::Range detNoiseRange = noiseHandle->getRange(detid);
730  SiStripApvGain::Range detGainRange = gainHandle->getRange(detid);
731  SiStripQuality::Range qualityRange = qualityHandle->getRange(detid);
732 
733  for(edmNew::DetSet<SiStripCluster>::const_iterator clusterIter = cluster_detset.begin(); clusterIter!= cluster_detset.end(); clusterIter++){
734 
735  const auto & ampls = clusterIter->amplitudes();
736  // cluster position
737  float cluster_position = clusterIter->barycenter();
738  // start defined as nr. of first strip beloning to the cluster
739  short cluster_start = clusterIter->firstStrip();
740  // width defined as nr. of strips that belong to cluster
741  short cluster_width = ampls.size();
742  // add nr of strips of this cluster to total nr. of clusterized strips
743  total_clusterized_strips = total_clusterized_strips + cluster_width;
744 
745  if(clusterchtkhistomapon) tkmapclusterch->fill(detid,static_cast<float>(clusterIter->charge()));
746 
747  // cluster signal and noise from the amplitudes
748  float cluster_signal = 0.0;
749  float cluster_noise = 0.0;
750  int nrnonzeroamplitudes = 0;
751  float noise2 = 0.0;
752  float noise = 0.0;
753  for(uint iamp=0; iamp<ampls.size(); iamp++){
754  if(ampls[iamp]>0){ // nonzero amplitude
755  cluster_signal += ampls[iamp];
756  if(!qualityHandle->IsStripBad(qualityRange, clusterIter->firstStrip()+iamp)){
757  noise = noiseHandle->getNoise(clusterIter->firstStrip()+iamp,detNoiseRange)/gainHandle->getStripGain(clusterIter->firstStrip()+iamp, detGainRange);
758  }
759  noise2 += noise*noise;
760  nrnonzeroamplitudes++;
761  }
762  } // End loop over cluster amplitude
763 
764  if (nrnonzeroamplitudes > 0) cluster_noise = sqrt(noise2/nrnonzeroamplitudes);
765 
766  if( applyClusterQuality_ &&
767  (cluster_signal/cluster_noise < sToNLowerLimit_ ||
768  cluster_signal/cluster_noise > sToNUpperLimit_ ||
769  cluster_width < widthLowerLimit_ ||
770  cluster_width > widthUpperLimit_) ) continue;
771 
772  ClusterProperties cluster_properties;
773  cluster_properties.charge = cluster_signal;
774  cluster_properties.position = cluster_position;
775  cluster_properties.start = cluster_start;
776  cluster_properties.width = cluster_width;
777  cluster_properties.noise = cluster_noise;
778 
779  // Fill Module Level MEs
780  if (found_module_me) fillModuleMEs(mod_single, cluster_properties);
781 
782  // Fill Layer Level MEs
783  if (found_layer_me) {
784  fillLayerMEs(layer_single, cluster_properties);
786  layer_single.LayerClusterWidthProfile->Fill(iDet, cluster_width);
787  }
788 
790  {
791  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
792  if(iSubdet != SubDetMEsMap.end())
793  {
794  if (subdetswitchcluschargeon) iSubdet->second.SubDetClusterChargeTH1->Fill(cluster_signal);
795  if (subdetswitchcluswidthon) iSubdet->second.SubDetClusterWidthTH1->Fill(cluster_width);
796  }
797  }
798 
799 
801  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
802  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.SubDetClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
803  }
804 
806  ClusWidthVsAmpTH2->Fill(cluster_signal, cluster_width);
807  }
808 
810  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
811  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
812  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.SubDetNumberOfClusterPerLayerTrend->Fill(trendVar,abs(det_layer_pair.second));
813  }
814 
815  if (subdetswitchtotclusprofon && (subdet_label.find("TID")!=std::string::npos || subdet_label.find("TEC")!=std::string::npos)){
816  std::pair<std::string,int32_t> det_ring_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,true);
817  fillME(layer_single.LayerNumberOfClusterPerRingTrend, trendVar, abs(det_ring_pair.second));
818  }
819 
820  } // end loop over clusters
821 
822  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
823  float local_occupancy = static_cast<float>(total_clusterized_strips)/static_cast<float>(total_nr_strips);
824  if (found_module_me) {
825  if(moduleswitchnrclusterizedstrip && mod_single.NrOfClusterizedStrips ){ // nr of clusterized strips
826  mod_single.NrOfClusterizedStrips->Fill(static_cast<float>(total_clusterized_strips));
827  }
828 
829  if(moduleswitchlocaloccupancy && mod_single.ModuleLocalOccupancy ){ // Occupancy
830  mod_single.ModuleLocalOccupancy->Fill(local_occupancy);
831  }
832  }
833  if (layerswitchlocaloccupancy && found_layer_me && layer_single.LayerLocalOccupancy) {
834  fillME(layer_single.LayerLocalOccupancy,local_occupancy);
835  if (createTrendMEs)
836  fillME(layer_single.LayerLocalOccupancyTrend,trendVar,local_occupancy);
837  }
838  }
839 
841  fillME(layer_single.LayerNumberOfClusterTrend,trendVar,ncluster_layer);
842 
843  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
844  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.totNClusters += ncluster_layer;
845  }
846 
847  // EventHistory
848  edm::Handle<EventWithHistory> event_history;
849  iEvent.getByToken(historyProducerToken_,event_history);
850 
851  // Phase of APV
852  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
853  iEvent.getByToken(apvPhaseProducerToken_,apv_phase_collection);
854 
855  if (event_history.isValid()
856  && !event_history.failedToGet()
857  && apv_phase_collection.isValid()
858  && !apv_phase_collection.failedToGet()) {
859 
860 
861  long long dbx = event_history->deltaBX();
862  long long tbx = event_history->absoluteBX();
863 
864  bool global_histo_filled = false;
865  bool MultiplicityRegion_Vs_APVcycle_filled=false;
866 
867  // plot n 2
868  if ( passBPTXfilter_ and passPixelDCSfilter_ and passStripDCSfilter_ ) {
870  }
871  // plot n 2
872 
873  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
874  it != SubDetMEsMap.end(); it++) {
875  std::string sdet = it->first;
876  //std::string sdet = sdet_tag.substr(0,sdet_tag.find_first_of("_"));
877  SubDetMEs sdetmes = it->second;
878 
879  int the_phase = APVCyclePhaseCollection::invalid;
880  long long tbx_corr = tbx;
881 
882 
883  if (SubDetPhasePartMap.find(sdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[sdet]);
884  if(the_phase==APVCyclePhaseCollection::nopartition ||
887  the_phase=30;
888  //std::cout << " subdet " << it->first << " not valid" << " MR " << MultiplicityRegion <<std::endl;
889  }
890  tbx_corr -= the_phase;
891 
892  long long dbxincycle = event_history->deltaBXinCycle(the_phase);
893  //std::cout<<"dbx in cycle: " << dbxincycle << std::endl;
894  if (globalswitchapvcycledbxth2on && !global_histo_filled) {
895  GlobalApvCycleDBxTH2->Fill(tbx_corr%70,dbx);
896  GlobalDBxTH1->Fill(dbx);
897  GlobalDBxCycleTH1->Fill(dbxincycle);
898  global_histo_filled = true;
899  }
900 
901 
902  // Fill MainDiagonalPosition plots ***************
903  if (cluster_detsetvektor_pix.isValid()){
904  if (ClusterHisto_){
905  if ( passBPTXfilter_ and passStripDCSfilter_ ){
906  NumberOfStripClus_vs_BX->Fill(tbx%3564,NStripClusters);
907  if(passPixelDCSfilter_ ){
908  NumberOfPixelClus_vs_BX->Fill(tbx%3564,NPixClusters);
909  if (globalswitchmaindiagonalposition && NStripClusters > 0){
910  GlobalMainDiagonalPosition_vs_BX->Fill(tbx%3564,atan(NPixClusters/(k0*NStripClusters)));
911  GlobalTH2MainDiagonalPosition_vs_BX->Fill(tbx%3564,atan(NPixClusters/(k0*NStripClusters)));
912  }
913  }
914 
915  }
916  }
917  }
918 
919  if (isPixValid && !MultiplicityRegion_Vs_APVcycle_filled){
920  if (globalswitchstripnoise2apvcycle && MultiplicityRegion==2) {StripNoise2Cycle->Fill(tbx_corr%70);}
921  if (globalswitchstripnoise3apvcycle && MultiplicityRegion==3) {StripNoise3Cycle->Fill(tbx_corr%70);}
922  MultiplicityRegion_Vs_APVcycle_filled=true;
923  }
924 
926  sdetmes.SubDetTotClusterTH1->Fill(sdetmes.totNClusters);
928  sdetmes.SubDetTotClusterProf->Fill(trendVar,sdetmes.totNClusters);
930  sdetmes.SubDetClusterApvProf->Fill(tbx_corr%70,sdetmes.totNClusters);
932  sdetmes.SubDetClusterApvTH2->Fill(tbx_corr%70,sdetmes.totNClusters);
934  sdetmes.SubDetClusterDBxCycleProf->Fill(dbxincycle,sdetmes.totNClusters);
935  }
937  sdetmes.SubDetApvDBxProf2->Fill(tbx_corr%70,dbx,sdetmes.totNClusters);
938  }
939 
941  {
942  long long tbx_corr = tbx;
943  int the_phase = apv_phase_collection->getPhase("All");
944 
945  if( the_phase == APVCyclePhaseCollection::nopartition ||
947  the_phase == APVCyclePhaseCollection::invalid )
948  the_phase=30;
949 
950  tbx_corr -= the_phase;
951 
952  NclusVsCycleTimeProf2D->Fill( tbx_corr%70 , (int)event_history->_orbit , NStripClusters );
953  }
954  }
955 }
RunNumber_t run() const
Definition: EventID.h:39
MonitorElement * GlobalABXTH1_CSCP
int FindRegion(int nstrip, int npixel)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * NumberOfPixelClus_vs_BX
long long deltaBX(const unsigned int ev2, const unsigned int ev1) const
MonitorElement * PixVsStripMultiplicityRegions
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
MonitorElement * GlobalTH2MainDiagonalPosition_vs_BX
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
MonitorElement * GlobalCStripVsCpix
bool IsStripBad(const uint32_t &detid, const short &strip) const
long long absoluteBX(const unsigned int ev1) const
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=0)
#define NULL
Definition: scimark2.h:8
MonitorElement * StripNoise2Cycle
data_type const * const_iterator
Definition: DetSetNew.h:30
std::map< std::string, LayerMEs > LayerMEsMap
bool isRealData() const
Definition: EventBase.h:64
std::map< std::string, std::vector< uint32_t > > LayerDetMap
void Fill(long long x)
MonitorElement * NumberOfPixelClus
std::map< uint32_t, ModMEs > ModuleMEsMap
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
static float getNoise(uint16_t strip, const Range &range)
Definition: SiStripNoises.h:72
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * GlobalApvCycleDBxTH2
const int getPhase(const std::string partition) const
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
Definition: SiStripGain.h:68
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
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::pair< ContainerIterator, ContainerIterator > Range
int orbitNumber() const
Definition: EventBase.h:67
MonitorElement * NumberOfStripClus
MonitorElement * GlobalMainDiagonalPosition_vs_BX
bool isValid() const
Definition: HandleBase.h:74
MonitorElement * NumberOfStripClus_vs_BX
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
MonitorElement * ClusWidthVsAmpTH2
MonitorElement * GlobalMainDiagonalPosition
SiStripDCSStatus * dcsStatus_
bool failedToGet() const
Definition: HandleBase.h:78
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
void fillME(MonitorElement *ME, float value1)
T const * product() const
Definition: Handle.h:81
const T & get() const
Definition: EventSetup.h:56
MonitorElement * StripNoise3Cycle
long long deltaBXinCycle(const unsigned int ev2, const unsigned int ev1, const int bx0) const
const uint16_t nApvPairs(uint32_t det_id) const
edm::EventID id() const
Definition: EventBase.h:60
const Range getRange(const uint32_t detID) const
iterator end()
Definition: DetSetNew.h:70
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterProducerPixToken_
std::map< std::string, SubDetMEs > SubDetMEsMap
const Range getRange(const uint32_t detID) const
void fillLayerMEs(LayerMEs &, ClusterProperties &cluster)
std::pair< ContainerIterator, ContainerIterator > Range
unsigned int _orbit
Definition: TinyEvent.h:88
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterProducerStripToken_
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:48
size_type size() const
Definition: DetSetNew.h:87
MonitorElement * GlobalDBxCycleTH1
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
T const * product() const
Definition: ESHandle.h:86
MonitorElement * NclusVsCycleTimeProf2D
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
const SiStripApvGain::Range getRange(uint32_t detID) const
Definition: SiStripGain.h:66
int size() const
iterator begin()
Definition: DetSetNew.h:67
void SiStripMonitorCluster::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 563 of file SiStripMonitorCluster.cc.

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

564 {
566  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
567  if (m_cacheID_ != cacheID) {
568  m_cacheID_ = cacheID;
569  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
570  << " Creating MEs for new Cabling ";
571 
572  createMEs(es , ibooker);
573  }
574  } else if (reset_each_run) {
575  edm::LogInfo("SiStripMonitorCluster") <<"SiStripMonitorCluster::bookHistograms: "
576  << " Resetting MEs ";
577  for (std::map<uint32_t, ModMEs >::const_iterator idet = ModuleMEsMap.begin() ; idet!=ModuleMEsMap.end() ; idet++) {
578  ResetModuleMEs(idet->first);
579  }
580  }
581 
582 }
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 1430 of file SiStripMonitorCluster.cc.

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

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

1431 {
1432  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1433  return ibooker.book1D(HistoName,HistoName,
1434  Parameters.getParameter<int32_t>("Nbinx"),
1435  Parameters.getParameter<double>("xmin"),
1436  Parameters.getParameter<double>("xmax")
1437  );
1438 }
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 1441 of file SiStripMonitorCluster.cc.

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

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

1442 {
1443  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
1444  return ibooker.book2D(HistoName,HistoName,
1445  Parameters.getParameter<int32_t>("Nbinsx"),
1446  Parameters.getParameter<double>("xmin"),
1447  Parameters.getParameter<double>("xmax"),
1448  Parameters.getParameter<int32_t>("Nbinsy"),
1449  Parameters.getParameter<double>("ymin"),
1450  Parameters.getParameter<double>("ymax")
1451  );
1452 }
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 1415 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(), and fillME().

1416 {
1417  edm::ParameterSet ParametersTrend = trendVsLs_ ? conf_.getParameter<edm::ParameterSet>("TrendingLS") : conf_.getParameter<edm::ParameterSet>("Trending");
1419  ParametersTrend.getParameter<int32_t>("Nbins"),
1420  ParametersTrend.getParameter<double>("xmin"),
1421  ParametersTrend.getParameter<double>("xmax"),
1422  0 , 0 , "" );
1423  if(!me) return me;
1424  me->setAxisTitle(ParametersTrend.getParameter<std::string>("xaxis"),1);
1425  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetCanExtend(TH1::kAllAxes);
1426  return me;
1427 }
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 1097 of file SiStripMonitorCluster.cc.

References DQMStore::IBooker::book1D(), bookME1D(), bookME2D(), bookMETrend(), DQMStore::IBooker::bookProfile(), conf_, SiStripHistoId::createHistoLayer(), createTrendMEs, edm::ParameterSet::getParameter(), diffTwoXMLs::label, layer_clusterWidth_vs_amplitude_on, SiStripMonitorCluster::LayerMEs::LayerClusterCharge, SiStripMonitorCluster::LayerMEs::LayerClusterChargeTrend, SiStripMonitorCluster::LayerMEs::LayerClusterNoise, SiStripMonitorCluster::LayerMEs::LayerClusterNoiseTrend, SiStripMonitorCluster::LayerMEs::LayerClusterPosition, 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::LayerNumberOfClusterPerRingTrend, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterProfile, SiStripMonitorCluster::LayerMEs::LayerNumberOfClusterTrend, layerswitchcluschargeon, layerswitchclusnoiseon, layerswitchclusposon, layerswitchclusstonon, layerswitchclusterwidthprofon, layerswitchcluswidthon, layerswitchlocaloccupancy, layerswitchnumclusterprofon, AlCaHLTBitMon_QueryRunRegistry::string, and subdetswitchtotclusprofon.

Referenced by createMEs().

1097  {
1098 
1099  SiStripHistoId hidmanager;
1100 
1101  LayerMEs layerMEs;
1102  layerMEs.LayerClusterStoN = 0;
1103  layerMEs.LayerClusterStoNTrend = 0;
1104  layerMEs.LayerClusterCharge = 0;
1105  layerMEs.LayerClusterChargeTrend = 0;
1106  layerMEs.LayerClusterNoise = 0;
1107  layerMEs.LayerClusterNoiseTrend = 0;
1108  layerMEs.LayerClusterWidth = 0;
1109  layerMEs.LayerClusterWidthTrend = 0;
1110  layerMEs.LayerLocalOccupancy = 0;
1111  layerMEs.LayerLocalOccupancyTrend = 0;
1112  layerMEs.LayerNumberOfClusterProfile = 0;
1113  layerMEs.LayerNumberOfClusterTrend = 0;
1114  layerMEs.LayerNumberOfClusterPerRingTrend = 0;
1115  layerMEs.LayerClusterWidthProfile = 0;
1116  layerMEs.LayerClusWidthVsAmpTH2 = 0;
1117  layerMEs.LayerClusterPosition = 0;
1118 
1119  //Cluster Width
1121  layerMEs.LayerClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth","layer",label,"").c_str() , ibooker );
1122  if (createTrendMEs)
1123  layerMEs.LayerClusterWidthTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterWidth","layer",label,"").c_str() , ibooker );
1124  }
1125 
1126  //Cluster Noise
1128  layerMEs.LayerClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise","layer",label,"").c_str() , ibooker );
1129  if (createTrendMEs)
1130  layerMEs.LayerClusterNoiseTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterNoise","layer",label,"").c_str() , ibooker);
1131  }
1132 
1133  //Cluster Charge
1135  layerMEs.LayerClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge","layer",label,"").c_str() , ibooker );
1136  if (createTrendMEs)
1137  layerMEs.LayerClusterChargeTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterCharge","layer",label,"").c_str(),ibooker);
1138  }
1139 
1140  //Cluster StoN
1141  if(layerswitchclusstonon) {
1142  layerMEs.LayerClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterSignalOverNoise","layer",label,"").c_str() , ibooker );
1143  if (createTrendMEs)
1144  layerMEs.LayerClusterStoNTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterSignalOverNoise","layer",label,"").c_str(),ibooker);
1145  }
1146 
1147  //Cluster Occupancy
1149  layerMEs.LayerLocalOccupancy=bookME1D("TH1ModuleLocalOccupancy", hidmanager.createHistoLayer("Summary_ClusterLocalOccupancy","layer",label,"").c_str() , ibooker );
1150  if (createTrendMEs)
1151  layerMEs.LayerLocalOccupancyTrend=bookMETrend(hidmanager.createHistoLayer("Trend_ClusterLocalOccupancy","layer",label,"").c_str(),ibooker);
1152  }
1153 
1154  // # of Cluster Profile
1156  std::string hid = hidmanager.createHistoLayer("NumberOfClusterProfile","layer",label,"");
1157  layerMEs.LayerNumberOfClusterProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 20.5);
1158  }
1159 
1160  // # of Cluster Trend
1162  layerMEs.LayerNumberOfClusterTrend = bookMETrend(hidmanager.createHistoLayer("NumberOfClusterTrend","layer",label,"").c_str(),ibooker);
1163 
1164  if (label.find("TID")!=std::string::npos || label.find("TEC")!=std::string::npos){
1165  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("NumberOfClusterPerRingVsTrendVarTH2");
1166  layerMEs.LayerNumberOfClusterPerRingTrend = bookME2D("NumberOfClusterPerRingVsTrendVarTH2", hidmanager.createHistoLayer("NumberOfClusterPerRing_vs_TrendVar","layer",label,"").c_str() , ibooker );
1167  }
1168  }
1169 
1170  // Cluster Width Profile
1172  std::string hid = hidmanager.createHistoLayer("ClusterWidthProfile","layer",label,"");
1173  layerMEs.LayerClusterWidthProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 20, -0.5, 19.5);
1174  }
1175 
1177  layerMEs.LayerClusWidthVsAmpTH2=bookME2D("ClusWidthVsAmpTH2", hidmanager.createHistoLayer("ClusterWidths_vs_Amplitudes","layer",label,"").c_str() , ibooker );
1178  }
1179 
1180  // Cluster Position
1181  if (layerswitchclusposon) {
1182  std::string hid = hidmanager.createHistoLayer("ClusterPosition","layer",label,"");
1183  layerMEs.LayerClusterPosition=ibooker.book1D(hid, hid, 128*6, 0.5, 128*6+0.5);
1184  }
1185 
1186  LayerMEsMap[label]=layerMEs;
1187 }
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
std::map< std::string, LayerMEs > LayerMEsMap
vector< ParameterSet > Parameters
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
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 232 of file SiStripMonitorCluster.cc.

References funct::abs(), SiStripDetCabling::addActiveDetectorsRawIds(), DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), 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(), GlobalABXTH1_CSCP, GlobalApvCycleDBxTH2, GlobalCStripVsCpix, GlobalDBxCycleTH1, GlobalDBxTH1, GlobalMainDiagonalPosition, GlobalMainDiagonalPosition_vs_BX, globalswitchapvcycledbxth2on, globalswitchcstripvscpix, globalswitchmaindiagonalposition, globalswitchMultiRegions, globalswitchnclusvscycletimeprof2don, globalswitchstripnoise2apvcycle, globalswitchstripnoise3apvcycle, GlobalTH2MainDiagonalPosition_vs_BX, diffTwoXMLs::label, LayerDetMap, LayerMEsMap, Mod_On_, ModuleMEsMap, NclusVsCycleTimeProf2D, NumberOfPixelClus, NumberOfPixelClus_vs_BX, NumberOfStripClus, NumberOfStripClus_vs_BX, or, PixVsStripMultiplicityRegions, edm::ESHandle< T >::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().

232  {
233 
235 
236  //Retrieve tracker topology from geometry
237  edm::ESHandle<TrackerTopology> tTopoHandle;
238  es.get<TrackerTopologyRcd>().get(tTopoHandle);
239  const TrackerTopology* const tTopo = tTopoHandle.product();
240 
241  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
243 
244  // get list of active detectors from SiStripDetCabling
245  std::vector<uint32_t> activeDets;
247 
248  SiStripSubStructure substructure;
249 
250  SiStripFolderOrganizer folder_organizer;
251  folder_organizer.setSiStripFolderName(topFolderName_);
252  folder_organizer.setSiStripFolder();
253 
254 
255  // Create TkHistoMap for Cluster
256  if (clustertkhistomapon) {
257  // std::cout << "[SiStripMonitorCluster::createMEs] topFolderName_: " << topFolderName_ << " ";
258  if ( (topFolderName_ == "SiStrip") or (std::string::npos != topFolderName_.find("HLT")) )
259  tkmapcluster = new TkHistoMap(ibooker , topFolderName_,"TkHMap_NumberOfCluster",0.,true);
260  else tkmapcluster = new TkHistoMap(ibooker , topFolderName_+"/TkHistoMap","TkHMap_NumberOfCluster",0.,false);
261  }
262  if (clusterchtkhistomapon) {
263  if ( (topFolderName_ == "SiStrip") or (std::string::npos != topFolderName_.find("HLT")) )
264  tkmapclusterch = new TkHistoMap(ibooker , topFolderName_,"TkHMap_ClusterCharge",0.,true);
265  else tkmapclusterch = new TkHistoMap(ibooker , topFolderName_+"/TkHistoMap","TkHMap_ClusterCharge",0.,false);
266  }
267 
268  // loop over detectors and book MEs
269  edm::LogInfo("SiStripTkDQM|SiStripMonitorCluster")<<"nr. of activeDets: "<<activeDets.size();
270  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
271  uint32_t detid = (*detid_iterator);
272  // remove any eventual zero elements - there should be none, but just in case
273  if(detid == 0) {
274  activeDets.erase(detid_iterator);
275  continue;
276  }
277 
278  if (Mod_On_) {
279  ModMEs mod_single;
280  // set appropriate folder using SiStripFolderOrganizer
281  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
282  if (reset_each_run) ResetModuleMEs(detid);
283  createModuleMEs(mod_single, detid , ibooker);
284  // append to ModuleMEsMap
285  ModuleMEsMap.insert( std::make_pair(detid, mod_single));
286  }
287 
288  // Create Layer Level MEs if they are not created already
289  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
290  SiStripHistoId hidmanager;
291  std::string label = hidmanager.getSubdetid(detid,tTopo,false);
292 
293  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
294  if(iLayerME==LayerMEsMap.end()) {
295 
296  // get detids for the layer
297  int32_t lnumber = det_layer_pair.second;
298  std::vector<uint32_t> layerDetIds;
299  if (det_layer_pair.first == "TIB") {
300  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
301  } else if (det_layer_pair.first == "TOB") {
302  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
303  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
304  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
305  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
306  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
307  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
308  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
309  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
310  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
311  }
312  LayerDetMap[label] = layerDetIds;
313 
314  // book Layer MEs
315  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second);
316  createLayerMEs(label, layerDetIds.size() , ibooker );
317  }
318  // book sub-detector plots
319  auto sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
320  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
321  ibooker.setCurrentFolder(sdet_pair.first);
322 
323  createSubDetMEs(sdet_pair.second , ibooker );
324  }
325  }//end of loop over detectors
326 
327  // Create Global Histogram
329  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
330  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2ApvCycleVsDBxGlobal");
331  std::string HistoName = "DeltaBx_vs_ApvCycle";
332  GlobalApvCycleDBxTH2 = ibooker.book2D(HistoName,HistoName,
333  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
334  GlobalTH2Parameters.getParameter<double>("xmin"),
335  GlobalTH2Parameters.getParameter<double>("xmax"),
336  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
337  GlobalTH2Parameters.getParameter<double>("ymin"),
338  GlobalTH2Parameters.getParameter<double>("ymax"));
339  GlobalApvCycleDBxTH2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
340  GlobalApvCycleDBxTH2->setAxisTitle("Delta Bunch Crossing Cycle",2);
341 
342  // plot DeltaBX ***************************
343  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1DBxGlobal");
344  HistoName = "DeltaBx";
345  GlobalDBxTH1 = ibooker.book1D(HistoName,HistoName,
346  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
347  GlobalTH1Parameters.getParameter<double>("xmin"),
348  GlobalTH1Parameters.getParameter<double>("xmax"));
349  GlobalDBxTH1->setAxisTitle("Delta Bunch Crossing",1);
350 
351 
352 
353  // plot DeltaBXCycle ***************************
354  edm::ParameterSet DBxCycle = conf_.getParameter<edm::ParameterSet>("TH1DBxCycleGlobal");
355  HistoName = "DeltaBxCycle";
356  GlobalDBxCycleTH1 = ibooker.book1D(HistoName,HistoName,
357  DBxCycle.getParameter<int32_t>("Nbinsx"),
358  DBxCycle.getParameter<double>("xmin"),
359  DBxCycle.getParameter<double>("xmax"));
360  GlobalDBxCycleTH1->setAxisTitle("Delta Bunch Crossing Cycle",1);
361 
362 
363  }
364 
366  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
367  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2CStripVsCpixel");
368  std::string HistoName = "StripClusVsPixClus";
369  GlobalCStripVsCpix = ibooker.book2D(HistoName,HistoName,
370  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
371  GlobalTH2Parameters.getParameter<double>("xmin"),
372  GlobalTH2Parameters.getParameter<double>("xmax"),
373  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
374  GlobalTH2Parameters.getParameter<double>("ymin"),
375  GlobalTH2Parameters.getParameter<double>("ymax"));
376  GlobalCStripVsCpix->setAxisTitle("Strip Clusters",1);
377  GlobalCStripVsCpix->setAxisTitle("Pix Clusters",2);
378 
379  // Absolute Bunch Crossing ***********************
380  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1ABx_CSCP");
381  HistoName = "AbsoluteBx_CStripVsCpixel";
382  GlobalABXTH1_CSCP = ibooker.book1D(HistoName,HistoName,
383  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
384  GlobalTH1Parameters.getParameter<double>("xmin"),
385  GlobalTH1Parameters.getParameter<double>("xmax"));
386  GlobalABXTH1_CSCP->setAxisTitle("Absolute Bunch Crossing",1);
387  }
388 
390  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
391  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH1MultiplicityRegions");
392  std::string HistoName = "ClusterMultiplicityRegions";
393  PixVsStripMultiplicityRegions = ibooker.book1D(HistoName,HistoName,
394  GlobalTH2Parameters.getParameter<int32_t>("Nbinx"),
395  GlobalTH2Parameters.getParameter<double>("xmin"),
396  GlobalTH2Parameters.getParameter<double>("xmax"));
398  PixVsStripMultiplicityRegions->setBinLabel(1,"Main Diagonal");
399  PixVsStripMultiplicityRegions->setBinLabel(2,"Strip Noise");
400  PixVsStripMultiplicityRegions->setBinLabel(3,"High Strip Noise");
401  PixVsStripMultiplicityRegions->setBinLabel(4,"Beam Background");
402  PixVsStripMultiplicityRegions->setBinLabel(5,"No Strip Clusters");
403  }
404 
406  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
407  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1MainDiagonalPosition");
408  std::string HistoName = "MainDiagonal Position";
409  GlobalMainDiagonalPosition = ibooker.book1D(HistoName,HistoName,
410  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
411  GlobalTH1Parameters.getParameter<double>("xmin"),
412  GlobalTH1Parameters.getParameter<double>("xmax"));
413  GlobalMainDiagonalPosition->setAxisTitle("atan(NPix/(k*NStrip))");
414 
415  //PLOT MainDiagonalPosition_vs_BX ***************************
416  edm::ParameterSet GlobalTProfParameters = conf_.getParameter<edm::ParameterSet>("TProfMainDiagonalPosition");
417  HistoName = "MainDiagonalPosition_vs_BX";
418  GlobalMainDiagonalPosition_vs_BX = ibooker.bookProfile(HistoName, HistoName,
419  GlobalTProfParameters.getParameter<int32_t>("Nbinsx"),
420  GlobalTProfParameters.getParameter<double>("xmin"),
421  GlobalTProfParameters.getParameter<double>("xmax"),
422  GlobalTProfParameters.getParameter<int32_t>("Nbinsy"),
423  GlobalTProfParameters.getParameter<double>("ymin"),
424  GlobalTProfParameters.getParameter<double>("ymax"));
425 
427  GlobalMainDiagonalPosition_vs_BX->setAxisTitle("tan^{-1}(NPix/k*NStrip))", 2);
428 
429 
430  edm::ParameterSet GlobalTH2Parameters = conf_.getParameter<edm::ParameterSet>("TH2MainDiagonalPosition");
431  HistoName = "TH2MainDiagonalPosition_vs_BX";
432  GlobalTH2MainDiagonalPosition_vs_BX = ibooker.book2D(HistoName,HistoName,
433  GlobalTH2Parameters.getParameter<int32_t>("Nbinsx"),
434  GlobalTH2Parameters.getParameter<double>("xmin"),
435  GlobalTH2Parameters.getParameter<double>("xmax"),
436  GlobalTH2Parameters.getParameter<int32_t>("Nbinsy"),
437  GlobalTH2Parameters.getParameter<double>("ymin"),
438  GlobalTH2Parameters.getParameter<double>("ymax"));
440  GlobalTH2MainDiagonalPosition_vs_BX->setAxisTitle("tan^{-1}(NPix/k*NStrip))",2);
441 
442 
443 
444  }
445 
446  // TO BE ADDED !!!
447  /*
448  if ( globalswitchapvcycledbxth2on or globalswitchcstripvscpix or globalswitchMultiRegions or ClusterHisto_ ) {
449  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
450  std::string HistoName = "BPTX rate";
451  BPTXrateTrend = ibooker.bookProfile(HistoName,HistoName, LSBin, LSMin, LSMax, 0, 10000.,"");
452  BPTXrateTrend->getTH1()->SetCanExtend(TH1::kAllAxes);
453  BPTXrateTrend->setAxisTitle("#Lumi section",1);
454  BPTXrateTrend->setAxisTitle("Number of BPTX events per LS",2);
455  }
456  */
457 
459  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
460  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise2ApvCycle");
461  std::string HistoName = "StripNoise_ApvCycle";
462  StripNoise2Cycle = ibooker.book1D(HistoName,HistoName,
463  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
464  GlobalTH1Parameters.getParameter<double>("xmin"),
465  GlobalTH1Parameters.getParameter<double>("xmax"));
466  StripNoise2Cycle->setAxisTitle("APV Cycle");
467  }
468 
470  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
471  edm::ParameterSet GlobalTH1Parameters = conf_.getParameter<edm::ParameterSet>("TH1StripNoise3ApvCycle");
472  std::string HistoName = "HighStripNoise_ApvCycle";
473  StripNoise3Cycle = ibooker.book1D(HistoName,HistoName,
474  GlobalTH1Parameters.getParameter<int32_t>("Nbinsx"),
475  GlobalTH1Parameters.getParameter<double>("xmin"),
476  GlobalTH1Parameters.getParameter<double>("xmax"));
477  StripNoise3Cycle->setAxisTitle("APV Cycle");
478  }
479 
481  const char* HistoName = "StripClusVsBXandOrbit";
482  const char* HistoTitle = "Strip cluster multiplicity vs BX mod(70) and Orbit;Event 1 BX mod(70);time [Orb#]";
483  edm::ParameterSet ParametersNclusVsCycleTimeProf2D = conf_.getParameter<edm::ParameterSet>("NclusVsCycleTimeProf2D");
484  NclusVsCycleTimeProf2D = ibooker.bookProfile2D ( HistoName , HistoTitle ,
485  ParametersNclusVsCycleTimeProf2D.getParameter<int32_t>("Nbins"),
486  ParametersNclusVsCycleTimeProf2D.getParameter<double>("xmin"),
487  ParametersNclusVsCycleTimeProf2D.getParameter<double>("xmax"),
488  ParametersNclusVsCycleTimeProf2D.getParameter<int32_t>("Nbinsy"),
489  ParametersNclusVsCycleTimeProf2D.getParameter<double>("ymin"),
490  ParametersNclusVsCycleTimeProf2D.getParameter<double>("ymax"),
491  0 , 0 );
492  if (NclusVsCycleTimeProf2D->kind() == MonitorElement::DQM_KIND_TPROFILE2D) NclusVsCycleTimeProf2D->getTH1()->SetCanExtend(TH1::kAllAxes);
493  }
495  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
496  edm::ParameterSet ParametersClusWidthVsAmpTH2 = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
497  const char* HistoName = "ClusterWidths_vs_Amplitudes";
498  const char* HistoTitle = "Cluster widths vs amplitudes;Amplitudes (integrated ADC counts);Cluster widths";
499  ClusWidthVsAmpTH2 = ibooker.book2D(HistoName,HistoTitle,
500  ParametersClusWidthVsAmpTH2.getParameter<int32_t>("Nbinsx"),
501  ParametersClusWidthVsAmpTH2.getParameter<double>("xmin"),
502  ParametersClusWidthVsAmpTH2.getParameter<double>("xmax"),
503  ParametersClusWidthVsAmpTH2.getParameter<int32_t>("Nbinsy"),
504  ParametersClusWidthVsAmpTH2.getParameter<double>("ymin"),
505  ParametersClusWidthVsAmpTH2.getParameter<double>("ymax"));
506  }
507 
508  if (ClusterHisto_){
509  ibooker.setCurrentFolder(topFolderName_+"/MechanicalView/");
510  edm::ParameterSet PixelCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusPx");
511  std::string HistoName = "NumberOfClustersInPixel";
512  NumberOfPixelClus = ibooker.book1D(HistoName, HistoName,
513  PixelCluster.getParameter<int32_t>("Nbinsx"),
514  PixelCluster.getParameter<double>("xmin"),
515  PixelCluster.getParameter<double>("xmax"));
516  NumberOfPixelClus->setAxisTitle("# of Clusters in Pixel", 1);
517  NumberOfPixelClus->setAxisTitle("Number of Events", 2);
518  //
519  edm::ParameterSet StripCluster = conf_.getParameter<edm::ParameterSet>("TH1NClusStrip");
520  HistoName = "NumberOfClustersInStrip";
521  NumberOfStripClus = ibooker.book1D(HistoName, HistoName,
522  StripCluster.getParameter<int32_t>("Nbinsx"),
523  StripCluster.getParameter<double>("xmin"),
524  StripCluster.getParameter<double>("xmax"));
525  NumberOfStripClus->setAxisTitle("# of Clusters in Strip", 1);
526  NumberOfStripClus->setAxisTitle("Number of Events", 2);
527 
528  // NumberOfClustersinStrip vs BX PLOT ****************************
529  edm::ParameterSet StripClusterBX = conf_.getParameter<edm::ParameterSet>("TProfNClusStrip");
530  HistoName = "NumberOfClustersInStrip_vs_BX";
531  NumberOfStripClus_vs_BX = ibooker.bookProfile(HistoName, HistoName,
532  StripClusterBX.getParameter<int32_t>("Nbinsx"),
533  StripClusterBX.getParameter<double>("xmin"),
534  StripClusterBX.getParameter<double>("xmax"),
535  StripClusterBX.getParameter<int32_t>("Nbinsy"),
536  StripClusterBX.getParameter<double>("ymin"),
537  StripClusterBX.getParameter<double>("ymax"));
538 
539  NumberOfStripClus_vs_BX->setAxisTitle("Absolute BX", 1);
540  NumberOfStripClus_vs_BX->setAxisTitle("# of Clusters in Strip", 2);
541 
542  // NumberOfClustersinStrip vs BX PLOT ****************************
543  edm::ParameterSet PixelClusterBX = conf_.getParameter<edm::ParameterSet>("TProfNClusPixel");
544  HistoName = "NumberOfClustersInPixel_vs_BX";
545  NumberOfPixelClus_vs_BX = ibooker.bookProfile(HistoName, HistoName,
546  PixelClusterBX.getParameter<int32_t>("Nbinsx"),
547  PixelClusterBX.getParameter<double>("xmin"),
548  PixelClusterBX.getParameter<double>("xmax"),
549  PixelClusterBX.getParameter<int32_t>("Nbinsy"),
550  PixelClusterBX.getParameter<double>("ymin"),
551  PixelClusterBX.getParameter<double>("ymax"));
552 
553  NumberOfPixelClus_vs_BX->setAxisTitle("Absolute BX", 1);
554  NumberOfPixelClus_vs_BX->setAxisTitle("# of Clusters in Pixel", 2);
555 
556  }
557 
558  }//end of if
559 }//end of method
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
T getParameter(std::string const &) const
MonitorElement * NumberOfPixelClus_vs_BX
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
void setSiStripFolderName(std::string name)
MonitorElement * PixVsStripMultiplicityRegions
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * GlobalTH2MainDiagonalPosition_vs_BX
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
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::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
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 * GlobalMainDiagonalPosition_vs_BX
MonitorElement * NumberOfStripClus_vs_BX
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:277
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
const T & get() const
Definition: EventSetup.h:56
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
MonitorElement * GlobalDBxCycleTH1
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
Definition: ESHandle.h:86
MonitorElement * NclusVsCycleTimeProf2D
void SiStripMonitorCluster::createModuleMEs ( ModMEs mod_single,
uint32_t  detid,
DQMStore::IBooker ibooker 
)
private

Definition at line 978 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, SiStripDetCabling::nApvPairs(), SiStripMonitorCluster::ModMEs::NrOfClusterizedStrips, SiStripMonitorCluster::ModMEs::NumberOfClusters, MonitorElement::setAxisTitle(), SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and DQMStore::IBooker::tag().

Referenced by createMEs().

978  {
979 
980  // use SistripHistoId for producing histogram id (and title)
981  SiStripHistoId hidmanager;
982  std::string hid;
983 
984  //nr. of clusters per module
985  if(moduleswitchncluson) {
986  hid = hidmanager.createHistoId("NumberOfClusters","det",detid);
987  mod_single.NumberOfClusters = bookME1D("TH1nClusters", hid.c_str() , ibooker);
988  ibooker.tag(mod_single.NumberOfClusters, detid);
989  mod_single.NumberOfClusters->setAxisTitle("number of clusters in one detector module");
990  mod_single.NumberOfClusters->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
991  }
992 
993  //ClusterPosition
995  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
996  hid = hidmanager.createHistoId("ClusterPosition","det",detid);
997  mod_single.ClusterPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
998  ibooker.tag(mod_single.ClusterPosition, detid);
999  mod_single.ClusterPosition->setAxisTitle("cluster position [strip number +0.5]");
1000  }
1001 
1002  //ClusterDigiPosition
1004  short total_nr_strips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; // get correct # of avp pairs
1005  hid = hidmanager.createHistoId("ClusterDigiPosition","det",detid);
1006  mod_single.ClusterDigiPosition = ibooker.book1D(hid, hid, total_nr_strips, 0.5, total_nr_strips+0.5);
1007  ibooker.tag(mod_single.ClusterDigiPosition, detid);
1008  mod_single.ClusterDigiPosition->setAxisTitle("digi in cluster position [strip number +0.5]");
1009  }
1010 
1011  //ClusterWidth
1013  hid = hidmanager.createHistoId("ClusterWidth","det",detid);
1014  mod_single.ClusterWidth = bookME1D("TH1ClusterWidth", hid.c_str() , ibooker);
1015  ibooker.tag(mod_single.ClusterWidth, detid);
1016  mod_single.ClusterWidth->setAxisTitle("cluster width [nr strips]");
1017  }
1018 
1019  //ClusterCharge
1021  hid = hidmanager.createHistoId("ClusterCharge","det",detid);
1022  mod_single.ClusterCharge = bookME1D("TH1ClusterCharge", hid.c_str() , ibooker );
1023  ibooker.tag(mod_single.ClusterCharge, detid);
1024  mod_single.ClusterCharge->setAxisTitle("cluster charge [ADC]");
1025  }
1026 
1027  //ClusterNoise
1029  hid = hidmanager.createHistoId("ClusterNoise","det",detid);
1030  mod_single.ClusterNoise = bookME1D("TH1ClusterNoise", hid.c_str() , ibooker );
1031  ibooker.tag(mod_single.ClusterNoise, detid);
1032  mod_single.ClusterNoise->setAxisTitle("cluster noise");
1033  }
1034 
1035  //ClusterSignalOverNoise
1037  hid = hidmanager.createHistoId("ClusterSignalOverNoise","det",detid);
1038  mod_single.ClusterSignalOverNoise = bookME1D("TH1ClusterStoN", hid.c_str() , ibooker);
1039  ibooker.tag(mod_single.ClusterSignalOverNoise, detid);
1040  mod_single.ClusterSignalOverNoise->setAxisTitle("ratio of signal to noise for each cluster");
1041  }
1042 
1043  //ClusterSignalOverNoiseVsPos
1045  hid = hidmanager.createHistoId("ClusterSignalOverNoiseVsPos","det",detid);
1046  Parameters = conf_.getParameter<edm::ParameterSet>("TH1ClusterStoNVsPos");
1047  mod_single.ClusterSignalOverNoiseVsPos= ibooker.bookProfile(hid.c_str(),hid.c_str(),
1048  Parameters.getParameter<int32_t>("Nbinx"),
1049  Parameters.getParameter<double>("xmin"),
1050  Parameters.getParameter<double>("xmax"),
1051  Parameters.getParameter<int32_t>("Nbiny"),
1052  Parameters.getParameter<double>("ymin"),
1053  Parameters.getParameter<double>("ymax")
1054  );
1055  ibooker.tag(mod_single.ClusterSignalOverNoiseVsPos, detid);
1056  mod_single.ClusterSignalOverNoiseVsPos->setAxisTitle("pos");
1057  }
1058 
1059  //ModuleLocalOccupancy
1061  hid = hidmanager.createHistoId("ClusterLocalOccupancy","det",detid);
1062  mod_single.ModuleLocalOccupancy = bookME1D("TH1ModuleLocalOccupancy", hid.c_str() , ibooker);
1063  ibooker.tag(mod_single.ModuleLocalOccupancy, detid);
1064  mod_single.ModuleLocalOccupancy->setAxisTitle("module local occupancy [% of clusterized strips]");
1065  }
1066 
1067  //NrOfClusterizedStrips
1069  hid = hidmanager.createHistoId("NrOfClusterizedStrips","det",detid);
1070  mod_single.NrOfClusterizedStrips = bookME1D("TH1NrOfClusterizedStrips", hid.c_str() , ibooker );
1071  ibooker.tag(mod_single.NrOfClusterizedStrips, detid);
1072  mod_single.NrOfClusterizedStrips->setAxisTitle("number of clusterized strips");
1073  }
1074 
1076  hid = hidmanager.createHistoId("ClusterWidths_vs_Amplitudes","det",detid);
1077  Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
1078  int32_t Nbinsx = Parameters.getParameter<int32_t>("Nbinsx");
1079  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.
1080  mod_single.Module_ClusWidthVsAmpTH2 = ibooker.book2D(hid.c_str() , hid.c_str(),
1081  Nbinsx,
1082  Parameters.getParameter<double>("xmin"),
1083  Parameters.getParameter<double>("xmax"),
1084  Parameters.getParameter<int32_t>("Nbinsy"),
1085  Parameters.getParameter<double>("ymin"),
1086  Parameters.getParameter<double>("ymax")
1087  );
1088  ibooker.tag(mod_single.Module_ClusWidthVsAmpTH2, detid);
1089  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
1090  mod_single.Module_ClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
1091  }
1092 
1093 }
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:289
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
const uint16_t nApvPairs(uint32_t det_id) const
void SiStripMonitorCluster::createSubDetMEs ( std::string  label,
DQMStore::IBooker ibooker 
)
private

Definition at line 1191 of file SiStripMonitorCluster.cc.

References DQMStore::IBooker::book2D(), bookME1D(), bookME2D(), 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, SiStripMonitorCluster::SubDetMEs::SubDetNumberOfClusterPerLayerTrend, subdetswitchapvcycledbxprof2on, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchcluschargeon, subdetswitchcluswidthon, subdetswitchdbxcycleprofon, subdetswitchtotclusprofon, subdetswitchtotclusth1on, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterProf, SiStripMonitorCluster::SubDetMEs::SubDetTotClusterTH1, SiStripMonitorCluster::SubDetMEs::totNClusters, and trendVsLs_.

Referenced by createMEs().

1191  {
1192 
1193  SubDetMEs subdetMEs;
1194  subdetMEs.totNClusters = 0;
1195  subdetMEs.SubDetTotClusterTH1 = 0;
1196  subdetMEs.SubDetTotClusterProf = 0;
1197  subdetMEs.SubDetClusterApvProf = 0;
1198  subdetMEs.SubDetClusterApvTH2 = 0;
1199  subdetMEs.SubDetClusterDBxCycleProf = 0;
1200  subdetMEs.SubDetApvDBxProf2 = 0;
1201  subdetMEs.SubDetClusterChargeTH1 = 0;
1202  subdetMEs.SubDetClusterWidthTH1 = 0;
1203  subdetMEs.SubDetClusWidthVsAmpTH2 = 0;
1204  subdetMEs.SubDetNumberOfClusterPerLayerTrend = 0;
1205 
1207  // cluster charge
1209  HistoName = "ClusterCharge__" + label;
1210  subdetMEs.SubDetClusterChargeTH1 = bookME1D("TH1ClusterCharge",HistoName.c_str() , ibooker);
1211  subdetMEs.SubDetClusterChargeTH1->setAxisTitle("Cluster charge [ADC counts]");
1212  subdetMEs.SubDetClusterChargeTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1213  }
1214  // cluster width
1216  HistoName = "ClusterWidth__" + label;
1217  subdetMEs.SubDetClusterWidthTH1 = bookME1D("TH1ClusterWidth",HistoName.c_str() , ibooker);
1218  subdetMEs.SubDetClusterWidthTH1->setAxisTitle("Cluster width [strips]");
1219  subdetMEs.SubDetClusterWidthTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1220  }
1221  // Total Number of Cluster - 1D
1223  HistoName = "TotalNumberOfCluster__" + label;
1224  subdetMEs.SubDetTotClusterTH1 = bookME1D("TH1TotalNumberOfClusters",HistoName.c_str() , ibooker);
1225  subdetMEs.SubDetTotClusterTH1->setAxisTitle("Total number of clusters in subdetector");
1226  subdetMEs.SubDetTotClusterTH1->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
1227  }
1228  // Total Number of Cluster vs Time - Profile
1231  HistoName = "TotalNumberOfClusterProfile__" + label;
1232  subdetMEs.SubDetTotClusterProf = ibooker.bookProfile(HistoName,HistoName,
1233  Parameters.getParameter<int32_t>("Nbins"),
1234  Parameters.getParameter<double>("xmin"),
1235  Parameters.getParameter<double>("xmax"),
1236  0 , 0 , "" );
1237  subdetMEs.SubDetTotClusterProf->setAxisTitle(Parameters.getParameter<std::string>("xaxis"),1);
1238  if (subdetMEs.SubDetTotClusterProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotClusterProf->getTH1()->SetCanExtend(TH1::kAllAxes);
1239 
1240  HistoName = "TotalNumberOfClusterPerLayer__" + label;
1241  subdetMEs.SubDetNumberOfClusterPerLayerTrend = bookME2D("NumberOfClusterPerLayerTrendVarTH2", HistoName.c_str() , ibooker );
1242  subdetMEs.SubDetNumberOfClusterPerLayerTrend->setAxisTitle("Lumisection",1);
1243  subdetMEs.SubDetNumberOfClusterPerLayerTrend->setAxisTitle("Layer Number",2);
1244  }
1245 
1246  // Total Number of Cluster vs APV cycle - Profile
1248  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersApvCycle");
1249  HistoName = "Cluster_vs_ApvCycle__" + label;
1250  subdetMEs.SubDetClusterApvProf=ibooker.bookProfile(HistoName,HistoName,
1251  Parameters.getParameter<int32_t>("Nbins"),
1252  Parameters.getParameter<double>("xmin"),
1253  Parameters.getParameter<double>("xmax"),
1254  200, //that parameter should not be there !?
1255  Parameters.getParameter<double>("ymin"),
1256  Parameters.getParameter<double>("ymax"),
1257  "" );
1258  subdetMEs.SubDetClusterApvProf->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70)",1);
1259  }
1260 
1261  // Total Number of Clusters vs ApvCycle - 2D
1263  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2ClustersApvCycle");
1264  HistoName = "Cluster_vs_ApvCycle_2D__" + label;
1265  // Adjusting the scale for 2D histogram
1266  double h2ymax = 9999.0;
1267  double yfact = Parameters.getParameter<double>("yfactor");
1268  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
1269  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
1270  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
1271  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
1272 
1273  subdetMEs.SubDetClusterApvTH2=ibooker.book2D(HistoName,HistoName,
1274  Parameters.getParameter<int32_t>("Nbinsx"),
1275  Parameters.getParameter<double>("xmin"),
1276  Parameters.getParameter<double>("xmax"),
1277  Parameters.getParameter<int32_t>("Nbinsy"),
1278  Parameters.getParameter<double>("ymin"),
1279  h2ymax);
1280  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Apv Cycle (Corrected Absolute Bx % 70))",1);
1281  subdetMEs.SubDetClusterApvTH2->setAxisTitle("Total # of Clusters",2);
1282 
1283  }
1284 
1285  // Cluster widths vs amplitudes - 2D
1287  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("ClusWidthVsAmpTH2");
1288  HistoName = "ClusterWidths_vs_Amplitudes__" + label;
1289  subdetMEs.SubDetClusWidthVsAmpTH2=ibooker.book2D(HistoName,HistoName,
1290  Parameters.getParameter<int32_t>("Nbinsx"),
1291  Parameters.getParameter<double>("xmin"),
1292  Parameters.getParameter<double>("xmax"),
1293  Parameters.getParameter<int32_t>("Nbinsy"),
1294  Parameters.getParameter<double>("ymin"),
1295  Parameters.getParameter<double>("ymax"));
1296  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Amplitudes (integrated ADC counts)",1);
1297  subdetMEs.SubDetClusWidthVsAmpTH2->setAxisTitle("Cluster widths",2);
1298 
1299  }
1300 
1301 
1302 
1303  // Total Number of Cluster vs DeltaBxCycle - Profile
1305  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfClustersVsDBxCycle");
1306  HistoName = "Cluster_vs_DeltaBxCycle__" + label;
1307  subdetMEs.SubDetClusterDBxCycleProf = ibooker.bookProfile(HistoName,HistoName,
1308  Parameters.getParameter<int32_t>("Nbins"),
1309  Parameters.getParameter<double>("xmin"),
1310  Parameters.getParameter<double>("xmax"),
1311  200, //that parameter should not be there !?
1312  Parameters.getParameter<double>("ymin"),
1313  Parameters.getParameter<double>("ymax"),
1314  "" );
1315  subdetMEs.SubDetClusterDBxCycleProf->setAxisTitle("Delta Bunch Crossing Cycle",1);
1316  }
1317  // DeltaBx vs ApvCycle - 2DProfile
1319  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProf2ApvCycleVsDBx");
1320  HistoName = "DeltaBx_vs_ApvCycle__" + label;
1321  subdetMEs.SubDetApvDBxProf2 = ibooker.bookProfile2D(HistoName,HistoName,
1322  Parameters.getParameter<int32_t>("Nbinsx"),
1323  Parameters.getParameter<double>("xmin"),
1324  Parameters.getParameter<double>("xmax"),
1325  Parameters.getParameter<int32_t>("Nbinsy"),
1326  Parameters.getParameter<double>("ymin"),
1327  Parameters.getParameter<double>("ymax"),
1328  Parameters.getParameter<double>("zmin"),
1329  Parameters.getParameter<double>("zmax"),
1330  "" );
1331  subdetMEs.SubDetApvDBxProf2->setAxisTitle("APV Cycle (Corrected Absolute Bx % 70)",1);
1332  subdetMEs.SubDetApvDBxProf2->setAxisTitle("Delta Bunch Crossing Cycle",2);
1333  }
1334  SubDetMEsMap[label]=subdetMEs;
1335 }
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 * bookME2D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
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 
)
override

Definition at line 220 of file SiStripMonitorCluster.cc.

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

220  {
221 
222  // Initialize the GenericTriggerEventFlag
229 }
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 1376 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::LayerClusterPosition, SiStripMonitorCluster::LayerMEs::LayerClusterStoN, SiStripMonitorCluster::LayerMEs::LayerClusterStoNTrend, SiStripMonitorCluster::LayerMEs::LayerClusterWidth, SiStripMonitorCluster::LayerMEs::LayerClusterWidthTrend, SiStripMonitorCluster::LayerMEs::LayerClusWidthVsAmpTH2, layerswitchcluschargeon, layerswitchclusnoiseon, layerswitchclusposon, layerswitchclusstonon, layerswitchcluswidthon, SiStripMonitorCluster::ClusterProperties::noise, SiStripMonitorCluster::ClusterProperties::position, trendVar, and SiStripMonitorCluster::ClusterProperties::width.

Referenced by analyze().

1376  {
1377 
1378  if(layerswitchclusstonon) {
1379  fillME(layerMEs.LayerClusterStoN ,cluster.charge/cluster.noise);
1380  if (createTrendMEs) {
1381  fillME(layerMEs.LayerClusterStoNTrend,trendVar,cluster.charge/cluster.noise);
1382  }
1383  }
1384 
1386  fillME(layerMEs.LayerClusterCharge,cluster.charge);
1387  if (createTrendMEs) {
1388  fillME(layerMEs.LayerClusterChargeTrend,trendVar,cluster.charge);
1389  }
1390  }
1391 
1393  fillME(layerMEs.LayerClusterNoise ,cluster.noise);
1394  if (createTrendMEs) {
1395  fillME(layerMEs.LayerClusterNoiseTrend,trendVar,cluster.noise);
1396  }
1397  }
1398 
1400  fillME(layerMEs.LayerClusterWidth ,cluster.width);
1401  if (createTrendMEs) {
1402  fillME(layerMEs.LayerClusterWidthTrend,trendVar,cluster.width);
1403  }
1404  }
1405 
1407  fillME(layerMEs.LayerClusWidthVsAmpTH2, cluster.charge, cluster.width);
1408  }
1409 
1410  if (layerswitchclusposon) {
1411  fillME(layerMEs.LayerClusterPosition,cluster.position);
1412  }
1413 }
void fillME(MonitorElement *ME, float value1)
void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 134 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

Referenced by analyze(), and fillLayerMEs().

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

Definition at line 136 of file SiStripMonitorCluster.h.

References MonitorElement::Fill().

void SiStripMonitorCluster::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate
void SiStripMonitorCluster::fillModuleMEs ( ModMEs mod_mes,
ClusterProperties cluster 
)
private

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

1340  {
1341 
1342  if(moduleswitchclusposon && (mod_mes.ClusterPosition)) // position of cluster
1343  (mod_mes.ClusterPosition)->Fill(cluster.position);
1344 
1345  // position of digis in cluster
1346  if(moduleswitchclusdigiposon && (mod_mes.ClusterDigiPosition)) {
1347  for(int ipos=cluster.start+1; ipos<=cluster.start+cluster.width; ipos++){
1348  (mod_mes.ClusterDigiPosition)->Fill(ipos);
1349  }
1350  }
1351 
1352  if(moduleswitchcluswidthon && (mod_mes.ClusterWidth)) // width of cluster
1353  (mod_mes.ClusterWidth)->Fill(static_cast<float>(cluster.width));
1354 
1355  if(moduleswitchclusstonon && (mod_mes.ClusterSignalOverNoise)) {// SignalToNoise
1356  if (cluster.noise > 0)
1357  (mod_mes.ClusterSignalOverNoise)->Fill(cluster.charge/cluster.noise);
1358  }
1359 
1360  if(moduleswitchclusstonVsposon && (mod_mes.ClusterSignalOverNoiseVsPos)) {// SignalToNoise
1361  if (cluster.noise > 0)
1362  (mod_mes.ClusterSignalOverNoiseVsPos)->Fill(cluster.position,cluster.charge/cluster.noise);
1363  }
1364 
1365  if(moduleswitchclusnoiseon && (mod_mes.ClusterNoise)) // Noise
1366  (mod_mes.ClusterNoise)->Fill(cluster.noise);
1367 
1368  if(moduleswitchcluschargeon && (mod_mes.ClusterCharge)) // charge of cluster
1369  (mod_mes.ClusterCharge)->Fill(cluster.charge);
1370 
1371  if(module_clusterWidth_vs_amplitude_on) (mod_mes.Module_ClusWidthVsAmpTH2)->Fill(cluster.charge, cluster.width);
1372 }
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
int SiStripMonitorCluster::FindRegion ( int  nstrip,
int  npixel 
)
private

Definition at line 1455 of file SiStripMonitorCluster.cc.

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

Referenced by analyze().

1455  {
1456 
1457  double kplus= k0*(1+dk0/100);
1458  double kminus=k0*(1-dk0/100);
1459  int region=0;
1460 
1461  if (nstrip!=0 && npix >= (nstrip*kminus-q0) && npix <=(nstrip*kplus+q0)) region=1;
1462  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip <= maxClus) region=2;
1463  else if (nstrip!=0 && npix < (nstrip*kminus-q0) && nstrip > maxClus) region=3;
1464  else if (nstrip!=0 && npix > (nstrip*kplus+q0)) region=4;
1465  else if (npix > minPix && nstrip==0) region=5;
1466  return region;
1467 
1468 }
void SiStripMonitorCluster::ResetModuleMEs ( uint32_t  idet)
private

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

959  {
960  std::map<uint32_t, ModMEs >::iterator pos = ModuleMEsMap.find(idet);
961  ModMEs mod_me = pos->second;
962 
963  if (moduleswitchncluson) mod_me.NumberOfClusters->Reset();
964  if (moduleswitchclusposon) mod_me.ClusterPosition->Reset();
965  if (moduleswitchclusdigiposon) mod_me.ClusterDigiPosition->Reset();
966  if (moduleswitchclusstonVsposon) mod_me.ClusterSignalOverNoiseVsPos->Reset();
967  if (moduleswitchcluswidthon) mod_me.ClusterWidth->Reset();
968  if (moduleswitchcluschargeon) mod_me.ClusterCharge->Reset();
969  if (moduleswitchclusnoiseon) mod_me.ClusterNoise->Reset();
970  if (moduleswitchclusstonon) mod_me.ClusterSignalOverNoise->Reset();
971  if (moduleswitchlocaloccupancy) mod_me.ModuleLocalOccupancy->Reset();
972  if (moduleswitchnrclusterizedstrip) mod_me.NrOfClusterizedStrips->Reset();
973  if (module_clusterWidth_vs_amplitude_on) mod_me.Module_ClusWidthVsAmpTH2->Reset();
974 }
std::map< uint32_t, ModMEs > ModuleMEsMap

Member Data Documentation

bool SiStripMonitorCluster::applyClusterQuality_
private

Definition at line 232 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 230 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::BPTXrateTrend = 0

Definition at line 116 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::clusterchtkhistomapon
private

Definition at line 208 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::ClusterHisto_
private

Definition at line 215 of file SiStripMonitorCluster.h.

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

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

Definition at line 228 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

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

Definition at line 227 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::clustertkhistomapon
private

Definition at line 207 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::clusterWidth_vs_amplitude_on
private

Definition at line 212 of file SiStripMonitorCluster.h.

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

MonitorElement* SiStripMonitorCluster::ClusWidthVsAmpTH2 = 0

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

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

double SiStripMonitorCluster::dk0
private

Definition at line 240 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

int SiStripMonitorCluster::eventNb
private

Definition at line 162 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::GlobalABXTH1_CSCP = 0

Definition at line 107 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalApvCycleDBxTH2 = 0

Definition at line 103 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalCStripVsCpix = 0

Definition at line 106 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalDBxCycleTH1 = 0

Definition at line 105 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalDBxTH1 = 0

Definition at line 104 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalMainDiagonalPosition = 0

Definition at line 109 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::GlobalMainDiagonalPosition_vs_BX = 0

Definition at line 110 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::globalswitchapvcycledbxth2on
private

Definition at line 204 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchcstripvscpix
private

Definition at line 205 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchmaindiagonalposition
private

Definition at line 182 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchMultiRegions
private

Definition at line 206 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchnclusvscycletimeprof2don
private

Definition at line 211 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise2apvcycle
private

Definition at line 180 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::globalswitchstripnoise3apvcycle
private

Definition at line 181 of file SiStripMonitorCluster.h.

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

MonitorElement* SiStripMonitorCluster::GlobalTH2MainDiagonalPosition_vs_BX

Definition at line 111 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 229 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::k0
private

Definition at line 238 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layer_clusterWidth_vs_amplitude_on
private

Definition at line 178 of file SiStripMonitorCluster.h.

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

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

Definition at line 145 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

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

Definition at line 144 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluschargeon
private

Definition at line 167 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusdigiposon
private

Definition at line 171 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusnoiseon
private

Definition at line 172 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusposon
private

Definition at line 170 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusstonon
private

Definition at line 168 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchclusstonVsposon
private

Definition at line 169 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchclusterwidthprofon
private

Definition at line 177 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchcluswidthon
private

Definition at line 173 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchlocaloccupancy
private

Definition at line 174 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::layerswitchncluson
private

Definition at line 166 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnrclusterizedstrip
private

Definition at line 175 of file SiStripMonitorCluster.h.

Referenced by SiStripMonitorCluster().

bool SiStripMonitorCluster::layerswitchnumclusterprofon
private

Definition at line 176 of file SiStripMonitorCluster.h.

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

unsigned long long SiStripMonitorCluster::m_cacheID_
private

Definition at line 151 of file SiStripMonitorCluster.h.

Referenced by bookHistograms().

double SiStripMonitorCluster::maxClus
private

Definition at line 241 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

double SiStripMonitorCluster::minPix
private

Definition at line 242 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::Mod_On_
private

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

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

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

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

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfPixelClus = 0

Definition at line 114 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfPixelClus_vs_BX = 0

Definition at line 120 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfStripClus = 0

Definition at line 115 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::NumberOfStripClus_vs_BX = 0

Definition at line 119 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

edm::ParameterSet SiStripMonitorCluster::Parameters
private

Definition at line 156 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::passBPTXfilter_
private

Definition at line 251 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::passPixelDCSfilter_
private

Definition at line 252 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::passStripDCSfilter_
private

Definition at line 253 of file SiStripMonitorCluster.h.

Referenced by analyze().

MonitorElement* SiStripMonitorCluster::PixVsStripMultiplicityRegions = 0

Definition at line 108 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

double SiStripMonitorCluster::q0
private

Definition at line 239 of file SiStripMonitorCluster.h.

Referenced by FindRegion(), and SiStripMonitorCluster().

std::string SiStripMonitorCluster::qualityLabel_
private

Definition at line 218 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::reset_each_run
private

Definition at line 150 of file SiStripMonitorCluster.h.

Referenced by bookHistograms(), and createMEs().

int SiStripMonitorCluster::runNb
private

Definition at line 162 of file SiStripMonitorCluster.h.

Referenced by analyze().

bool SiStripMonitorCluster::select_all_detectors
private

Definition at line 150 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_control_view
private

Definition at line 150 of file SiStripMonitorCluster.h.

bool SiStripMonitorCluster::show_mechanical_structure_view
private

Definition at line 150 of file SiStripMonitorCluster.h.

Referenced by bookHistograms(), and createMEs().

bool SiStripMonitorCluster::show_readout_view
private

Definition at line 150 of file SiStripMonitorCluster.h.

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

Definition at line 153 of file SiStripMonitorCluster.h.

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

double SiStripMonitorCluster::sToNLowerLimit_
private

Definition at line 233 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::sToNUpperLimit_
private

Definition at line 234 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

MonitorElement* SiStripMonitorCluster::StripNoise2Cycle = 0

Definition at line 112 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorCluster::StripNoise3Cycle = 0

Definition at line 113 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorCluster::subdet_clusterWidth_vs_amplitude_on
private

Definition at line 203 of file SiStripMonitorCluster.h.

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

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

Definition at line 146 of file SiStripMonitorCluster.h.

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

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

Definition at line 147 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

bool SiStripMonitorCluster::subdetswitchapvcycledbxprof2on
private

Definition at line 198 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleprofon
private

Definition at line 196 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchapvcycleth2on
private

Definition at line 197 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluschargeon
private

Definition at line 201 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchcluswidthon
private

Definition at line 202 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchdbxcycleprofon
private

Definition at line 199 of file SiStripMonitorCluster.h.

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

bool SiStripMonitorCluster::subdetswitchtotclusprofon
private
bool SiStripMonitorCluster::subdetswitchtotclusth1on
private

Definition at line 200 of file SiStripMonitorCluster.h.

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

TkHistoMap* SiStripMonitorCluster::tkmapcluster
private

Definition at line 159 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

TkHistoMap* SiStripMonitorCluster::tkmapclusterch
private

Definition at line 160 of file SiStripMonitorCluster.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorCluster::topFolderName_
private

Definition at line 217 of file SiStripMonitorCluster.h.

Referenced by createMEs(), and SiStripMonitorCluster().

float SiStripMonitorCluster::trendVar
private

Definition at line 164 of file SiStripMonitorCluster.h.

Referenced by analyze(), and fillLayerMEs().

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

Definition at line 235 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().

double SiStripMonitorCluster::widthUpperLimit_
private

Definition at line 236 of file SiStripMonitorCluster.h.

Referenced by analyze(), and SiStripMonitorCluster().