49 src_( conf_.getParameter<edm::
InputTag>(
"src" ) ),
50 saveFile( conf_.getUntrackedParameter<bool>(
"saveFile",
false) ),
51 isPIB( conf_.getUntrackedParameter<bool>(
"isPIB",
false) ),
52 slowDown( conf_.getUntrackedParameter<bool>(
"slowDown",
false) ),
53 modOn( conf_.getUntrackedParameter<bool>(
"modOn",
true) ),
54 twoDimOn( conf_.getUntrackedParameter<bool>(
"twoDimOn",
true) ),
55 reducedSet( conf_.getUntrackedParameter<bool>(
"reducedSet",
false) ),
56 ladOn( conf_.getUntrackedParameter<bool>(
"ladOn",
false) ),
57 layOn( conf_.getUntrackedParameter<bool>(
"layOn",
false) ),
58 phiOn( conf_.getUntrackedParameter<bool>(
"phiOn",
false) ),
59 ringOn( conf_.getUntrackedParameter<bool>(
"ringOn",
false) ),
60 bladeOn( conf_.getUntrackedParameter<bool>(
"bladeOn",
false) ),
61 diskOn( conf_.getUntrackedParameter<bool>(
"diskOn",
false) ),
62 smileyOn(conf_.getUntrackedParameter<bool>(
"smileyOn",
false) ),
63 bigEventSize( conf_.getUntrackedParameter<int>(
"bigEventSize",100) ),
64 isUpgrade( conf_.getUntrackedParameter<bool>(
"isUpgrade",
false) ),
68 LogInfo (
"PixelDQM") <<
"SiPixelClusterSource::SiPixelClusterSource: Got DQM BackEnd interface"<<endl;
81 LogInfo (
"PixelDQM") <<
"SiPixelClusterSource::~SiPixelClusterSource: Destructor"<<endl;
83 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
85 delete struct_iter->second;
86 struct_iter->second = 0;
93 LogInfo (
"PixelDQM") <<
" SiPixelClusterSource::beginJob - Initialisation ... " << std::endl;
99 LogInfo (
"PixelDQM") <<
"Smiley (Cluster sizeY vs. Cluster eta) is " <<
smileyOn <<
"\n";
118 std::stringstream ss1, ss2;
121 ss1.str(
std::string()); ss1 <<
"position_siPixelClusters_Layer_" <<
i;
122 ss2.str(
std::string()); ss2 <<
"Clusters Layer" << i <<
";Global Z (cm);Global #phi";
123 meClPosLayer.push_back(iBooker.
book2D(ss1.str(),ss2.str(),200,-30.,30.,128,-3.2,3.2));
127 ss1.str(
std::string()); ss1 <<
"position_siPixelClusters_pz_Disk_" <<
i;
128 ss2.str(
std::string()); ss2 <<
"Clusters +Z Disk" << i <<
";Global X (cm);Global Y (cm)";
130 ss1.str(
std::string()); ss1 <<
"position_siPixelClusters_mz_Disk_" <<
i;
131 ss2.str(
std::string()); ss2 <<
"Clusters -Z Disk" << i <<
";Global X (cm);Global Y (cm)";
164 int nEventFpixClusters = 0;
167 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
170 int numberOfFpixClusters = (*struct_iter).second->fill(*input, tracker,
177 nEventFpixClusters = nEventFpixClusters + numberOfFpixClusters;
198 LogInfo (
"PixelDQM") <<
" SiPixelClusterSource::buildStructure" ;
206 LogVerbatim (
"PixelDQM") <<
" *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
207 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->dets().size() <<
" detectors"<<std::endl;
208 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->detTypes().size() <<
" types"<<std::endl;
210 for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
212 if(dynamic_cast<PixelGeomDetUnit const *>((*it))!=0){
214 DetId detId = (*it)->geographicalId();
215 const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
223 uint32_t
id = detId();
227 LogDebug (
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
232 LogDebug (
"PixelDQM") <<
" ---> Adding Endcap Module " << detId.
rawId() << endl;
239 char sside[80]; sprintf(sside,
"HalfCylinder_%i",side);
240 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
241 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
242 char spanel[80]; sprintf(spanel,
"Panel_%i",panel);
243 char smodule[80];sprintf(smodule,
"Module_%i",module);
246 bool mask = side_str.find(
"HalfCylinder_1")!=string::npos||
247 side_str.find(
"HalfCylinder_2")!=string::npos||
248 side_str.find(
"HalfCylinder_4")!=string::npos||
249 disk_str.find(
"Disk_2")!=string::npos;
252 if(
isPIB && mask)
continue;
267 char title[256]; snprintf(title, 256,
"Rate of events with >%i FPIX clusters;LumiSection;Rate of large FPIX events per LS [Hz]",
bigEventSize);
271 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
284 <<
"[SiPixelClusterSource::bookMEs] Creation of DQM folder failed";
291 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
298 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
305 LogDebug (
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
312 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
319 LogDebug (
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
326 LogDebug (
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
333 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BARREL-FOLDER\n";
int plaquetteName() const
plaquetteId (in pannel)
virtual void buildStructure(edm::EventSetup const &)
T getParameter(std::string const &) const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< MonitorElement * > meClPosDiskmz
#define DEFINE_FWK_MODULE(type)
edm::LuminosityBlockNumber_t luminosityBlock() const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
SiPixelClusterSource(const edm::ParameterSet &conf)
static std::string const input
uint32_t rawId() const
get the raw id
int bladeName() const
blade id
std::vector< MonitorElement * > meClPosDiskpz
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
MonitorElement * book1D(Args &&...args)
std::vector< MonitorElement * > meClPosLayer
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
T const * product() const
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void dqmBeginRun(const edm::Run &, edm::EventSetup const &)
int pannelName() const
pannel id
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
int diskName() const
disk id
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
volatile std::atomic< bool > shutdown_flag false
HalfCylinder halfCylinder() const
MonitorElement * bigFpixClusterEventRate
std::string topFolderName_