CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
SiPixelClusterSource Class Reference

#include <SiPixelClusterSource.h>

Inheritance diagram for SiPixelClusterSource:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef edmNew::DetSet< SiPixelCluster >::const_iterator ClusterIterator
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
virtual void bookMEs (DQMStore::IBooker &, const edm::EventSetup &iSetup)
 
virtual void buildStructure (edm::EventSetup const &)
 
void dqmBeginRun (const edm::Run &, edm::EventSetup const &) override
 
 SiPixelClusterSource (const edm::ParameterSet &conf)
 
 ~SiPixelClusterSource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

std::string topFolderName_
 

Private Member Functions

void getrococcupancy (DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > const &meinput)
 
void getrococcupancye (DetId detId, const edmNew::DetSetVector< SiPixelCluster > &clustColl, const TrackerTopology *const pTT, edm::ESHandle< TrackerGeometry > pDD, MonitorElement *meinput)
 

Private Attributes

int bigEventSize
 
MonitorElementbigFpixClusterEventRate
 
bool bladeOn
 
edm::ParameterSet conf_
 
edm::InputTag digisrc_
 
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
 
bool diskOn
 
int eventNo
 
bool firstRun
 
bool isPIB
 
bool isUpgrade
 
bool ladOn
 
bool layOn
 
int lumSec
 
std::vector< MonitorElement * > meClPosDiskmz
 
std::vector< MonitorElement * > meClPosDiskpz
 
std::vector< MonitorElement * > meClPosLayer
 
MonitorElementmeClusBarrelProf
 
MonitorElementmeClusFpixMProf
 
MonitorElementmeClusFpixPProf
 
std::vector< MonitorElement * > meZeroRocBPIX
 
MonitorElementmeZeroRocFPIX
 
bool modOn
 
int nBigEvents
 
int nLumiSecs
 
int noOfDisks
 
int noOfLayers
 
bool phiOn
 
bool reducedSet
 
bool ringOn
 
bool saveFile
 
bool slowDown
 
bool smileyOn
 
edm::InputTag src_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
 
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
 
bool twoDimOn
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDProducerBase
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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 60 of file SiPixelClusterSource.h.

Member Typedef Documentation

Definition at line 65 of file SiPixelClusterSource.h.

Constructor & Destructor Documentation

SiPixelClusterSource::SiPixelClusterSource ( const edm::ParameterSet conf)
explicit

Definition at line 48 of file SiPixelClusterSource.cc.

References conf_, digisrcToken_, firstRun, edm::ParameterSet::getParameter(), srcToken_, AlCaHLTBitMon_QueryRunRegistry::string, and topFolderName_.

48  :
49  conf_(iConfig),
50  src_( conf_.getParameter<edm::InputTag>( "src" ) ),
51  digisrc_( conf_.getParameter<edm::InputTag>( "digisrc" ) ),
52  saveFile( conf_.getUntrackedParameter<bool>("saveFile",false) ),
53  isPIB( conf_.getUntrackedParameter<bool>("isPIB",false) ),
54  slowDown( conf_.getUntrackedParameter<bool>("slowDown",false) ),
55  modOn( conf_.getUntrackedParameter<bool>("modOn",true) ),
56  twoDimOn( conf_.getUntrackedParameter<bool>("twoDimOn",true) ),
57  reducedSet( conf_.getUntrackedParameter<bool>("reducedSet",false) ),
58  ladOn( conf_.getUntrackedParameter<bool>("ladOn",false) ),
59  layOn( conf_.getUntrackedParameter<bool>("layOn",false) ),
60  phiOn( conf_.getUntrackedParameter<bool>("phiOn",false) ),
61  ringOn( conf_.getUntrackedParameter<bool>("ringOn",false) ),
62  bladeOn( conf_.getUntrackedParameter<bool>("bladeOn",false) ),
63  diskOn( conf_.getUntrackedParameter<bool>("diskOn",false) ),
64  smileyOn(conf_.getUntrackedParameter<bool>("smileyOn",false) ),
65  bigEventSize( conf_.getUntrackedParameter<int>("bigEventSize",100) ),
66  isUpgrade( conf_.getUntrackedParameter<bool>("isUpgrade",false) ),
67  noOfLayers(0),
68  noOfDisks(0)
69 {
70  LogInfo ("PixelDQM") << "SiPixelClusterSource::SiPixelClusterSource: Got DQM BackEnd interface"<<endl;
71 
72  //set Token(-s)
73  srcToken_ = consumes<edmNew::DetSetVector<SiPixelCluster> >(conf_.getParameter<edm::InputTag>("src"));
74  digisrcToken_ = consumes<edm::DetSetVector<PixelDigi> >(conf_.getParameter<edm::InputTag>("digisrc"));
75  firstRun = true;
76  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
77 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
edm::ParameterSet conf_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
SiPixelClusterSource::~SiPixelClusterSource ( )
override

Definition at line 80 of file SiPixelClusterSource.cc.

References thePixelStructure.

81 {
82  // do anything here that needs to be done at desctruction time
83  // (e.g. close files, deallocate resources etc.)
84  LogInfo ("PixelDQM") << "SiPixelClusterSource::~SiPixelClusterSource: Destructor"<<endl;
85 
86  std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
87  for (struct_iter = thePixelStructure.begin() ; struct_iter != thePixelStructure.end() ; struct_iter++){
88  delete struct_iter->second;
89  struct_iter->second = nullptr;
90  }
91 }
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure

Member Function Documentation

void SiPixelClusterSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 189 of file SiPixelClusterSource.cc.

References bigEventSize, bigFpixClusterEventRate, bladeOn, TrackerGeometry::dets(), digisrcToken_, diskOn, eventNo, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), getrococcupancy(), getrococcupancye(), mps_fire::i, input, createfilelist::int, isUpgrade, ladOn, layOn, edm::EventBase::luminosityBlock(), meClPosDiskmz, meClPosDiskpz, meClPosLayer, meClusBarrelProf, meClusFpixMProf, meClusFpixPProf, meZeroRocBPIX, meZeroRocFPIX, modOn, noOfDisks, noOfLayers, edm::EventBase::orbitNumber(), phiOn, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, edm::Handle< T >::product(), edm::ESHandle< T >::product(), reducedSet, ringOn, slowDown, smileyOn, srcToken_, DetId::subdetId(), thePixelStructure, mixOne_simraw_on_sim_cfi::tracker, and twoDimOn.

190 {
191  eventNo++;
192 
193  if(meClPosLayer.at(0) && meClPosLayer.at(0)->getEntries()>150000){
194  for (int i = 0; i < noOfLayers; i++)
195  {
196  meClPosLayer.at(i)->Reset();
197  }
198  for (int i = 0; i < noOfDisks; i++)
199  {
200  meClPosDiskpz.at(i)->Reset();
201  meClPosDiskmz.at(i)->Reset();
202  }
203  }
204 
205  // get input data
207  iEvent.getByToken(srcToken_, input);
208  auto const & clustColl = *(input.product());
209 
211  iSetup.get<TrackerDigiGeometryRecord> ().get (pDD);
212  const TrackerGeometry* tracker = &(* pDD);
213 
215  iEvent.getByToken( digisrcToken_, digiinput );
216  const edm::DetSetVector<PixelDigi> diginp = *(digiinput.product());
217 
218  edm::ESHandle<TrackerTopology> tTopoHandle;
219  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
220  const TrackerTopology *pTT = tTopoHandle.product();
221 
222 
223  int lumiSection = (int)iEvent.luminosityBlock();
224  int nEventFpixClusters = 0;
225 
226  int nEventsBarrel = 0;
227  int nEventsFPIXm = 0;
228  int nEventsFPIXp = 0;
229 
230 
231  std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
232  for (struct_iter = thePixelStructure.begin() ; struct_iter != thePixelStructure.end() ; struct_iter++) {
233 
234  int numberOfFpixClusters = (*struct_iter).second->fill(*input, tracker,
235  &nEventsBarrel, &nEventsFPIXp, &nEventsFPIXm,
236  meClPosLayer,
239  modOn, ladOn, layOn, phiOn,
240  bladeOn, diskOn, ringOn,
242  nEventFpixClusters = nEventFpixClusters + numberOfFpixClusters;
243 
244  }
245 
246  if(nEventFpixClusters>bigEventSize){
248  bigFpixClusterEventRate->Fill(lumiSection,1./23.);
249  }
250  }
251 
252  float trendVar = iEvent.orbitNumber()/262144.0; //lumisection : seconds - matches strip trend plot
253 
254  meClusBarrelProf->Fill(trendVar,nEventsBarrel);
255  meClusFpixPProf->Fill(trendVar,nEventsFPIXp);
256  meClusFpixMProf->Fill(trendVar,nEventsFPIXm);
257 
258  //std::cout<<"nEventFpixClusters: "<<nEventFpixClusters<<" , nLumiSecs: "<<nLumiSecs<<" , nBigEvents: "<<nBigEvents<<std::endl;
259 
260  for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
261 
262  DetId detId = (*it)->geographicalId();
263 
264  // fill barrel
265  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
266  getrococcupancy(detId,diginp,pTT,meZeroRocBPIX);
267  }
268 
269  // fill endcap
270  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
271  getrococcupancye(detId,clustColl,pTT,pDD,meZeroRocFPIX);
272  }
273 
274  }
275 
276  // slow down...
277  if(slowDown) usleep(10000);
278 
279 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
std::vector< MonitorElement * > meClPosDiskmz
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > const &meinput)
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
std::vector< MonitorElement * > meZeroRocBPIX
MonitorElement * meZeroRocFPIX
static std::string const input
Definition: EdmProvDump.cc:44
void Fill(long long x)
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
std::vector< MonitorElement * > meClPosDiskpz
MonitorElement * meClusBarrelProf
std::vector< MonitorElement * > meClPosLayer
int orbitNumber() const
Definition: EventBase.h:67
MonitorElement * meClusFpixMProf
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:38
Definition: DetId.h:18
T const * product() const
Definition: Handle.h:81
void getrococcupancye(DetId detId, const edmNew::DetSetVector< SiPixelCluster > &clustColl, const TrackerTopology *const pTT, edm::ESHandle< TrackerGeometry > pDD, MonitorElement *meinput)
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
const T & get() const
Definition: EventSetup.h:59
MonitorElement * meClusFpixPProf
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
T const * product() const
Definition: ESHandle.h:86
MonitorElement * bigFpixClusterEventRate
void SiPixelClusterSource::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 116 of file SiPixelClusterSource.cc.

References DQMStore::IBooker::book2D(), bookMEs(), DQMStore::IBooker::bookProfile(), digisrc_, MonitorElement::getTH1(), mps_fire::i, diffTwoXMLs::label, meClPosDiskmz, meClPosDiskpz, meClPosLayer, meClusBarrelProf, meClusFpixMProf, meClusFpixPProf, meZeroRocBPIX, meZeroRocFPIX, noOfDisks, noOfLayers, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, Phase2TrackerMonitorDigi_cff::ymax, and Phase2TrackerMonitorDigi_cff::ymin.

116  {
117  bookMEs(iBooker, iSetup);
118  // Book occupancy maps in global coordinates for all clusters:
119  iBooker.setCurrentFolder(topFolderName_+"/Clusters/OffTrack");
120  //bpix
121  std::stringstream ss1, ss2;
122  for (int i = 1; i <= noOfLayers; i++)
123  {
124  ss1.str(std::string()); ss1 << "position_siPixelClusters_Layer_" << i;
125  ss2.str(std::string()); ss2 << "Clusters Layer" << i << ";Global Z (cm);Global #phi";
126  meClPosLayer.push_back(iBooker.book2D(ss1.str(),ss2.str(),200,-30.,30.,128,-3.2,3.2));
127  }
128  for (int i = 1; i <= noOfDisks; i++)
129  {
130  ss1.str(std::string()); ss1 << "position_siPixelClusters_pz_Disk_" << i;
131  ss2.str(std::string()); ss2 << "Clusters +Z Disk" << i << ";Global X (cm);Global Y (cm)";
132  meClPosDiskpz.push_back(iBooker.book2D(ss1.str(),ss2.str(),80,-20.,20.,80,-20.,20.));
133  ss1.str(std::string()); ss1 << "position_siPixelClusters_mz_Disk_" << i;
134  ss2.str(std::string()); ss2 << "Clusters -Z Disk" << i << ";Global X (cm);Global Y (cm)";
135  meClPosDiskmz.push_back(iBooker.book2D(ss1.str(),ss2.str(),80,-20.,20.,80,-20.,20.));
136  }
137 
138  //Book trend cluster plots for barrel and endcap. Lumisections for offline and second for online - taken from strips
139  iBooker.setCurrentFolder(topFolderName_+"/Barrel");
140  ss1.str(std::string()); ss1 << "totalNumberOfClustersProfile_siPixelClusters_Barrel";
141  ss2.str(std::string()); ss2 << "Total number of barrel clusters profile;Lumisection;";
142  meClusBarrelProf = iBooker.bookProfile(ss1.str(),ss2.str(),2400,0.,150,0,0,"");
143  meClusBarrelProf->getTH1()->SetCanExtend(TH1::kAllAxes);
144 
145  iBooker.setCurrentFolder(topFolderName_+"/Endcap");
146 
147  ss1.str(std::string()); ss1 << "totalNumberOfClustersProfile_siPixelClusters_FPIX+";
148  ss2.str(std::string()); ss2 << "Total number of FPIX+ clusters profile;Lumisection;";
149  meClusFpixPProf = iBooker.bookProfile(ss1.str(),ss2.str(),2400,0.,150,0,0,"");
150  meClusFpixPProf->getTH1()->SetCanExtend(TH1::kAllAxes);
151 
152  ss1.str(std::string()); ss1 << "totalNumberOfClustersProfile_siPixelClusters_FPIX-";
153  ss2.str(std::string()); ss2 << "Total number of FPIX- clusters profile;Lumisection;";
154  meClusFpixMProf = iBooker.bookProfile(ss1.str(),ss2.str(),2400,0.,150,0,0,"");
155  meClusFpixMProf->getTH1()->SetCanExtend(TH1::kAllAxes);
156 
157  iBooker.setCurrentFolder(topFolderName_+"/Barrel");
158  for (int i = 1; i <= noOfLayers; i++) {
159  int ybins = -1; float ymin = 0.; float ymax = 0.;
160  if (i==1) { ybins = 42; ymin = -10.5; ymax = 10.5; }
161  if (i==2) { ybins = 66; ymin = -16.5; ymax = 16.5; }
162  if (i==3) { ybins = 90; ymin = -22.5; ymax = 22.5; }
163  if (i==4) { ybins = 130; ymin = -32.5; ymax = 32.5; }
164  ss1.str(std::string()); ss1 << "pix_bar Occ_roc_online_" + digisrc_. label() + "_layer_" << i;
165  ss2.str(std::string()); ss2 << "Pixel Barrel Occupancy, ROC level (Online): Layer " << i;
166  meZeroRocBPIX.push_back(iBooker.book2D(ss1.str(),ss2.str(),72,-4.5,4.5,ybins,ymin,ymax));
167  meZeroRocBPIX.at(i-1)->setAxisTitle("ROC / Module",1);
168  meZeroRocBPIX.at(i-1)->setAxisTitle("ROC / Ladder",2);
169  }
170 
171  iBooker.setCurrentFolder(topFolderName_+"/Endcap");
172  meZeroRocFPIX = iBooker.book2D("ROC_endcap_occupancy","Pixel Endcap Occupancy, ROC level (Online)",72, -4.5, 4.5,288,-12.5,12.5);
173  meZeroRocFPIX->setBinLabel(1, "Disk-2 Pnl2",1);
174  meZeroRocFPIX->setBinLabel(9, "Disk-2 Pnl1",1);
175  meZeroRocFPIX->setBinLabel(19, "Disk-1 Pnl2",1);
176  meZeroRocFPIX->setBinLabel(27, "Disk-1 Pnl1",1);
177  meZeroRocFPIX->setBinLabel(41, "Disk+1 Pnl1",1);
178  meZeroRocFPIX->setBinLabel(49, "Disk+1 Pnl2",1);
179  meZeroRocFPIX->setBinLabel(59, "Disk+2 Pnl1",1);
180  meZeroRocFPIX->setBinLabel(67, "Disk+2 Pnl2",1);
181  meZeroRocFPIX->setAxisTitle("Blades in Inner (>0) / Outer(<) Halves",2);
182  meZeroRocFPIX->setAxisTitle("ROC occupancy",3);
183 
184 }
std::vector< MonitorElement * > meClPosDiskmz
TH1 * getTH1() const
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)
std::vector< MonitorElement * > meZeroRocBPIX
MonitorElement * meZeroRocFPIX
std::vector< MonitorElement * > meClPosDiskpz
MonitorElement * meClusBarrelProf
std::vector< MonitorElement * > meClPosLayer
MonitorElement * meClusFpixMProf
MonitorElement * meClusFpixPProf
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiPixelClusterSource::bookMEs ( DQMStore::IBooker iBooker,
const edm::EventSetup iSetup 
)
virtual

Create folder tree and book histograms

Definition at line 351 of file SiPixelClusterSource.cc.

References bigEventSize, bigFpixClusterEventRate, bladeOn, DQMStore::IBooker::book1D(), conf_, diskOn, Exception, isPIB, isUpgrade, ladOn, layOn, LogDebug, modOn, phiOn, reducedSet, ringOn, DQMStore::IBooker::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), smileyOn, thePixelStructure, fftjetcommon_cfi::title, topFolderName_, and twoDimOn.

Referenced by bookHistograms().

351  {
352 
353  // Get DQM interface
355  char title[256]; snprintf(title, 256, "Rate of events with >%i FPIX clusters;LumiSection;Rate of large FPIX events per LS [Hz]",bigEventSize);
356  bigFpixClusterEventRate = iBooker.book1D("bigFpixClusterEventRate",title,5000,0.,5000.);
357 
358 
359  std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
360 
361  SiPixelFolderOrganizer theSiPixelFolder(false);
362 
363  for(struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++){
364 
366  if(modOn){
367  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,0,isUpgrade)){
368  (*struct_iter).second->book( conf_,iSetup,iBooker,0,twoDimOn,reducedSet,isUpgrade);
369  } else {
370 
371  if(!isPIB) throw cms::Exception("LogicError")
372  << "[SiPixelClusterSource::bookMEs] Creation of DQM folder failed";
373  }
374  }
375  if(ladOn){
376  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,1,isUpgrade)){
377  (*struct_iter).second->book( conf_,iSetup,iBooker,1,twoDimOn,reducedSet,isUpgrade);
378  } else {
379  LogDebug ("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
380  }
381  }
382  if(layOn){
383  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,2,isUpgrade)){
384  (*struct_iter).second->book( conf_,iSetup,iBooker,2,twoDimOn,reducedSet,isUpgrade);
385  } else {
386  LogDebug ("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
387  }
388  }
389  if(phiOn){
390  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,3,isUpgrade)){
391  (*struct_iter).second->book( conf_,iSetup,iBooker,3,twoDimOn,reducedSet,isUpgrade);
392  } else {
393  LogDebug ("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
394  }
395  }
396  if(bladeOn){
397  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,4,isUpgrade)){
398  (*struct_iter).second->book( conf_,iSetup,iBooker,4,twoDimOn,reducedSet,isUpgrade);
399  } else {
400  LogDebug ("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
401  }
402  }
403  if(diskOn){
404  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,5,isUpgrade)){
405  (*struct_iter).second->book( conf_,iSetup,iBooker,5,twoDimOn,reducedSet,isUpgrade);
406  } else {
407  LogDebug ("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
408  }
409  }
410  if(ringOn){
411  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,6,isUpgrade)){
412  (*struct_iter).second->book( conf_,iSetup,iBooker,6,twoDimOn,reducedSet,isUpgrade);
413  } else {
414  LogDebug ("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
415  }
416  }
417  if(smileyOn){
418  if(theSiPixelFolder.setModuleFolder(iBooker,(*struct_iter).first,7,isUpgrade)){
419  (*struct_iter).second->book( conf_,iSetup,iBooker,7,twoDimOn,reducedSet,isUpgrade);
420  } else {
421  LogDebug ("PixelDQM") << "PROBLEM WITH BARREL-FOLDER\n";
422  }
423  }
424 
425  }
426 
427 }
#define LogDebug(id)
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
edm::ParameterSet conf_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
MonitorElement * bigFpixClusterEventRate
void SiPixelClusterSource::buildStructure ( edm::EventSetup const &  )
virtual

Definition at line 284 of file SiPixelClusterSource.cc.

References PixelEndcapName::bladeName(), TrackerGeometry::dets(), TrackerGeometry::detTypes(), PixelEndcapName::diskName(), edm::EventSetup::get(), PixelEndcapName::halfCylinder(), TrackerGeometry::idToDetUnit(), isPIB, isUpgrade, PixelBarrelName::layerName(), LogDebug, RecoTauDiscriminantConfiguration::mask, trackingPlots::ncols, noOfDisks, noOfLayers, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), edm::ESHandle< T >::product(), DetId::rawId(), PixelGeomDetUnit::specificTopology(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), and thePixelStructure.

Referenced by dqmBeginRun().

284  {
285 
286  LogInfo ("PixelDQM") <<" SiPixelClusterSource::buildStructure" ;
288  iSetup.get<TrackerDigiGeometryRecord>().get( pDD );
289 
290  edm::ESHandle<TrackerTopology> tTopoHandle;
291  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
292  const TrackerTopology *pTT = tTopoHandle.product();
293 
294  LogVerbatim ("PixelDQM") << " *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
295  LogVerbatim ("PixelDQM") << " *** I have " << pDD->dets().size() <<" detectors"<<std::endl;
296  LogVerbatim ("PixelDQM") << " *** I have " << pDD->detTypes().size() <<" types"<<std::endl;
297 
298  for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
299 
300  if(dynamic_cast<PixelGeomDetUnit const *>((*it))!=nullptr){
301 
302  DetId detId = (*it)->geographicalId();
303  const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
304  const PixelGeomDetUnit * pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
305  int nrows = (pixDet->specificTopology()).nrows();
306  int ncols = (pixDet->specificTopology()).ncolumns();
307 
308 
309  if((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) ||
310  (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap))){
311  uint32_t id = detId();
312  SiPixelClusterModule* theModule = new SiPixelClusterModule(id, ncols, nrows);
313  if(detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
314  if(isPIB) continue;
315  LogDebug ("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
316  int layer = PixelBarrelName(DetId(id),pTT,isUpgrade).layerName();
317  if (layer > noOfLayers) noOfLayers = layer;
318  thePixelStructure.insert(pair<uint32_t,SiPixelClusterModule*> (id,theModule));
319  }else if ( detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap ) ) {
320  LogDebug ("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
322  int disk = PixelEndcapName(DetId(id),pTT,isUpgrade).diskName();
323  if (disk>noOfDisks) noOfDisks=disk;
324  int blade = PixelEndcapName(DetId(id),pTT,isUpgrade).bladeName();
325  int panel = PixelEndcapName(DetId(id),pTT,isUpgrade).pannelName();
327  char sside[80]; sprintf(sside, "HalfCylinder_%i",side);
328  char sdisk[80]; sprintf(sdisk, "Disk_%i",disk);
329  char sblade[80]; sprintf(sblade, "Blade_%02i",blade);
330  char spanel[80]; sprintf(spanel, "Panel_%i",panel);
331  char smodule[80];sprintf(smodule,"Module_%i",module);
332  std::string side_str = sside;
333  std::string disk_str = sdisk;
334  bool mask = side_str.find("HalfCylinder_1")!=string::npos||
335  side_str.find("HalfCylinder_2")!=string::npos||
336  side_str.find("HalfCylinder_4")!=string::npos||
337  disk_str.find("Disk_2")!=string::npos;
338  // clutch to take all of FPIX, but no BPIX:
339  mask = false;
340  if(isPIB && mask) continue;
341  thePixelStructure.insert(pair<uint32_t,SiPixelClusterModule*> (id,theModule));
342  }
343  }
344  }
345  }
346  LogInfo ("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
347 }
#define LogDebug(id)
int plaquetteName() const
plaquetteId (in pannel)
const DetTypeContainer & detTypes() const override
Return a vector of all det types.
uint32_t rawId() const
get the raw id
Definition: DetId.h:44
int bladeName() const
blade id
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:38
Definition: DetId.h:18
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
int pannelName() const
pannel id
int diskName() const
disk id
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
HalfCylinder halfCylinder() const
T const * product() const
Definition: ESHandle.h:86
Definition: vlib.h:208
void SiPixelClusterSource::dqmBeginRun ( const edm::Run ,
edm::EventSetup const &   
)
override

Definition at line 95 of file SiPixelClusterSource.cc.

References bladeOn, buildStructure(), diskOn, eventNo, firstRun, ladOn, layOn, lumSec, modOn, nBigEvents, nLumiSecs, phiOn, ringOn, smileyOn, and twoDimOn.

95  {
96  LogInfo ("PixelDQM") << " SiPixelClusterSource::beginJob - Initialisation ... " << std::endl;
97  LogInfo ("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/"
98  << layOn << "/" << phiOn << std::endl;
99  LogInfo ("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/"
100  << ringOn << std::endl;
101  LogInfo ("PixelDQM") << "2DIM IS " << twoDimOn << "\n";
102  LogInfo ("PixelDQM") << "Smiley (Cluster sizeY vs. Cluster eta) is " << smileyOn << "\n";
103 
104  if(firstRun){
105  eventNo = 0;
106  lumSec = 0;
107  nLumiSecs = 0;
108  nBigEvents = 0;
109  // Build map
110  buildStructure(iSetup);
111 
112  firstRun = false;
113  }
114 }
virtual void buildStructure(edm::EventSetup const &)
void SiPixelClusterSource::getrococcupancy ( DetId  detId,
const edm::DetSetVector< PixelDigi > &  diginp,
const TrackerTopology *const  tTopo,
std::vector< MonitorElement * > const &  meinput 
)
private

Definition at line 429 of file SiPixelClusterSource.cc.

References funct::abs(), edm::DetSetVector< T >::begin(), cuy::col, edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), objects.autophobj::float, PixelBarrelName::isHalfModule(), isUpgrade, PixelBarrelName::ladderName(), PixelBarrelName::layerName(), PixelBarrelName::moduleName(), and PixelBarrelName::shell().

Referenced by analyze().

430  {
431 
432  edm::DetSetVector<PixelDigi>::const_iterator ipxsearch = diginp.find(detId);
433  if( ipxsearch != diginp.end() ) {
434 
435  // Look at digis now
437  for (pxdi = ipxsearch->begin(); pxdi != ipxsearch->end(); pxdi++) {
438 
439  bool isHalfModule = PixelBarrelName(DetId(detId),tTopo,isUpgrade).isHalfModule();
440  int DBlayer = PixelBarrelName(DetId(detId),tTopo,isUpgrade).layerName();
441  int DBmodule = PixelBarrelName(DetId(detId),tTopo,isUpgrade).moduleName();
442  int DBladder = PixelBarrelName(DetId(detId),tTopo,isUpgrade).ladderName();
443  int DBshell = PixelBarrelName(DetId(detId),tTopo,isUpgrade).shell();
444 
445  // add sign to the modules
446  if (DBshell==1 || DBshell==2) { DBmodule = -DBmodule; }
447  if (DBshell==1 || DBshell==3) { DBladder = -DBladder; }
448 
449  int col = pxdi->column();
450  int row = pxdi->row();
451 
452  float modsign = (float)DBmodule/(abs((float)DBmodule));
453  float ladsign = (float)DBladder/(abs((float)DBladder));
454  float rocx = ((float)col/(52.*8.))*modsign + ((float)DBmodule-(modsign)*0.5);
455  float rocy = ((float)row/(80.*2.))*ladsign + ((float)DBladder-(ladsign)*0.5);
456 
457  // do the flip where need
458  bool flip = false;
459  if ( (DBladder%2==0) && (!isHalfModule) ) { flip = true; }
460  if ((flip) && (DBladder>0)) {
461  if ( ( ((float)DBladder-(ladsign)*0.5)<=rocy) && (rocy<(float)DBladder)) { rocy = rocy + ladsign*0.5; }
462  else if ( ( ((float)DBladder)<=rocy) && (rocy<((float)DBladder+(ladsign)*0.5)) ) { rocy = rocy - ladsign*0.5; }
463  }
464 
465  // tweak border effect for negative modules/ladders
466  if (modsign<0) { rocx = rocx -0.0001; }
467  if (ladsign<0) { rocy = rocy -0.0001; } else { rocy = rocy +0.0001; }
468  if (abs(DBladder)==1) { rocy = rocy + ladsign*0.5; } //take care of the half module
469  meinput[DBlayer-1]->Fill(rocx,rocy);
470  } // end of looping over pxdi
471  }
472 }
iterator find(det_id_type id)
Definition: DetSetVector.h:290
int moduleName() const
module id (index in z)
bool isHalfModule() const
full or half module
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
Definition: DetId.h:18
int ladderName() const
ladder id (index in phi)
int layerName() const
layer id
Shell shell() const
col
Definition: cuy.py:1008
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104
void SiPixelClusterSource::getrococcupancye ( DetId  detId,
const edmNew::DetSetVector< SiPixelCluster > &  clustColl,
const TrackerTopology *const  pTT,
edm::ESHandle< TrackerGeometry pDD,
MonitorElement meinput 
)
private

Definition at line 475 of file SiPixelClusterSource.cc.

References funct::abs(), edmNew::DetSetVector< T >::begin(), PixelEndcapName::bladeName(), DEFINE_FWK_MODULE, PixelEndcapName::diskName(), edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::find(), MonitorElement::getBinContent(), PixelEndcapName::halfCylinder(), mps_fire::i, TrackerGeometry::idToDetUnit(), isUpgrade, Topology::localPosition(), PixelEndcapName::pannelName(), PixelEndcapName::plaquetteName(), MonitorElement::setBinContent(), PixelGeomDetUnit::specificTopology(), GeomDet::surface(), Surface::toGlobal(), z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

476  {
477 
478  edmNew::DetSetVector<SiPixelCluster>::const_iterator ipxsearch = clustColl.find(detId);
479  if( ipxsearch != clustColl.end() ) {
480 
481  // Look at clusters now
483  for (pxclust = ipxsearch->begin(); pxclust != ipxsearch->end(); pxclust++) {
484 
485  const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
486  const PixelGeomDetUnit * pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
487  const PixelTopology * topol = &(pixDet->specificTopology());
488  LocalPoint clustlp = topol->localPosition( MeasurementPoint(pxclust->x(),pxclust->y()) );
489  GlobalPoint clustgp = geoUnit->surface().toGlobal( clustlp );
490 
491  float xclust = pxclust->x();
492  float yclust = pxclust->y();
493  float z = clustgp.z();
494 
495  int pxfside = PixelEndcapName(detId,pTT,isUpgrade).halfCylinder();
496  int pxfpanel = PixelEndcapName(detId,pTT,isUpgrade).pannelName();
497  int pxfmodule = PixelEndcapName(detId,pTT,isUpgrade).plaquetteName();
498  int pxfdisk = PixelEndcapName(detId,pTT,isUpgrade).diskName();
499  int pxfblade = PixelEndcapName(detId,pTT,isUpgrade).bladeName();
500 
501  if ( (pxfside==1) || (pxfside==3) ) { pxfblade = -1.*pxfblade; }
502 
503  if (z<0.) { pxfdisk = -1.*pxfdisk; }
504 
505  int clu_sdpx = ((pxfdisk>0) ? 1 : -1) * (2 * (abs(pxfdisk) - 1) + pxfpanel);
506  int binselx = (pxfpanel==1&&(pxfmodule==1||pxfmodule==4)) ? (pxfmodule==1) : ((pxfpanel==1&& xclust<80.0)||(pxfpanel==2&&xclust>=80.0));
507  int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
508  int clu_roc_binx = ((pxfdisk>0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((abs(pxfdisk)==1) ? pxfdisk : 0);
509 
510  int clu_roc_biny = -99.;
511  int nrocly = pxfmodule + pxfpanel;
512  for (int i=0; i<nrocly; i++) {
513  int j = (pxfdisk<0) ? i : nrocly - 1 - i;
514  if (yclust>=(j*52.0)&& yclust<((j+1)*52.0))
515  clu_roc_biny = 6 - nrocly + 2 * i + ((pxfblade>0) ? pxfblade-1 : pxfblade + 12)*12 + 1;
516  }
517  if (pxfblade>0) { clu_roc_biny = clu_roc_biny+144; }
518 
519  meinput->setBinContent(clu_roc_binx,clu_roc_biny, meinput->getBinContent(clu_roc_binx,clu_roc_biny)+1);
520  meinput->setBinContent(clu_roc_binx,clu_roc_biny+1, meinput->getBinContent(clu_roc_binx,clu_roc_biny+1)+1);
521 
522  }
523  }
524 
525 }
int plaquetteName() const
plaquetteId (in pannel)
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
void setBinContent(int binx, double content)
set content of bin (1-D)
const_iterator end(bool update=false) const
data_type const * const_iterator
Definition: DetSetNew.h:30
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
int bladeName() const
blade id
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
T z() const
Definition: PV3DBase.h:64
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
const_iterator find(id_type i, bool update=false) const
double getBinContent(int binx) const
get content of bin (1-D)
int pannelName() const
pannel id
int diskName() const
disk id
HalfCylinder halfCylinder() const
const_iterator begin(bool update=false) const

Member Data Documentation

int SiPixelClusterSource::bigEventSize
private

Definition at line 98 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelClusterSource::bigFpixClusterEventRate
private

Definition at line 97 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelClusterSource::bladeOn
private

Definition at line 91 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

edm::ParameterSet SiPixelClusterSource::conf_
private

Definition at line 77 of file SiPixelClusterSource.h.

Referenced by bookMEs(), and SiPixelClusterSource().

edm::InputTag SiPixelClusterSource::digisrc_
private

Definition at line 79 of file SiPixelClusterSource.h.

Referenced by bookHistograms().

edm::EDGetTokenT<edm::DetSetVector<PixelDigi> > SiPixelClusterSource::digisrcToken_
private

Definition at line 122 of file SiPixelClusterSource.h.

Referenced by analyze(), and SiPixelClusterSource().

bool SiPixelClusterSource::diskOn
private

Definition at line 91 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::eventNo
private

Definition at line 83 of file SiPixelClusterSource.h.

Referenced by analyze(), and dqmBeginRun().

bool SiPixelClusterSource::firstRun
private

Definition at line 93 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun(), and SiPixelClusterSource().

bool SiPixelClusterSource::isPIB
private

Definition at line 81 of file SiPixelClusterSource.h.

Referenced by bookMEs(), and buildStructure().

bool SiPixelClusterSource::isUpgrade
private
bool SiPixelClusterSource::ladOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::layOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::lumSec
private

Definition at line 94 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

std::vector<MonitorElement*> SiPixelClusterSource::meClPosDiskmz
private

Definition at line 103 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> SiPixelClusterSource::meClPosDiskpz
private

Definition at line 102 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> SiPixelClusterSource::meClPosLayer
private

Definition at line 101 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusBarrelProf
private

Definition at line 105 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusFpixMProf
private

Definition at line 107 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusFpixPProf
private

Definition at line 106 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement*> SiPixelClusterSource::meZeroRocBPIX
private

Definition at line 109 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meZeroRocFPIX
private

Definition at line 110 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

bool SiPixelClusterSource::modOn
private

Definition at line 85 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::nBigEvents
private

Definition at line 96 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

int SiPixelClusterSource::nLumiSecs
private

Definition at line 95 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

int SiPixelClusterSource::noOfDisks
private

Definition at line 113 of file SiPixelClusterSource.h.

Referenced by analyze(), bookHistograms(), and buildStructure().

int SiPixelClusterSource::noOfLayers
private

Definition at line 112 of file SiPixelClusterSource.h.

Referenced by analyze(), bookHistograms(), and buildStructure().

bool SiPixelClusterSource::phiOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::reducedSet
private

Definition at line 87 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelClusterSource::ringOn
private

Definition at line 91 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::saveFile
private

Definition at line 80 of file SiPixelClusterSource.h.

bool SiPixelClusterSource::slowDown
private

Definition at line 82 of file SiPixelClusterSource.h.

Referenced by analyze().

bool SiPixelClusterSource::smileyOn
private

Definition at line 92 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

edm::InputTag SiPixelClusterSource::src_
private

Definition at line 78 of file SiPixelClusterSource.h.

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > SiPixelClusterSource::srcToken_
private

Definition at line 121 of file SiPixelClusterSource.h.

Referenced by analyze(), and SiPixelClusterSource().

std::map<uint32_t,SiPixelClusterModule*> SiPixelClusterSource::thePixelStructure
private

Definition at line 84 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), buildStructure(), and ~SiPixelClusterSource().

std::string SiPixelClusterSource::topFolderName_

Definition at line 74 of file SiPixelClusterSource.h.

Referenced by bookHistograms(), bookMEs(), and SiPixelClusterSource().

bool SiPixelClusterSource::twoDimOn
private

Definition at line 86 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().