47 src_( conf_.getParameter<edm::
InputTag>(
"src" ) ),
48 saveFile( conf_.getUntrackedParameter<bool>(
"saveFile",
false) ),
49 isPIB( conf_.getUntrackedParameter<bool>(
"isPIB",
false) ),
50 slowDown( conf_.getUntrackedParameter<bool>(
"slowDown",
false) ),
51 modOn( conf_.getUntrackedParameter<bool>(
"modOn",
true) ),
52 twoDimOn( conf_.getUntrackedParameter<bool>(
"twoDimOn",
true) ),
53 reducedSet( conf_.getUntrackedParameter<bool>(
"reducedSet",
false) ),
54 ladOn( conf_.getUntrackedParameter<bool>(
"ladOn",
false) ),
55 layOn( conf_.getUntrackedParameter<bool>(
"layOn",
false) ),
56 phiOn( conf_.getUntrackedParameter<bool>(
"phiOn",
false) ),
57 ringOn( conf_.getUntrackedParameter<bool>(
"ringOn",
false) ),
58 bladeOn( conf_.getUntrackedParameter<bool>(
"bladeOn",
false) ),
59 diskOn( conf_.getUntrackedParameter<bool>(
"diskOn",
false) ),
60 smileyOn(conf_.getUntrackedParameter<bool>(
"smileyOn",
false) ),
61 bigEventSize( conf_.getUntrackedParameter<int>(
"bigEventSize",100) )
64 LogInfo (
"PixelDQM") <<
"SiPixelClusterSource::SiPixelClusterSource: Got DQM BackEnd interface"<<endl;
72 LogInfo (
"PixelDQM") <<
"SiPixelClusterSource::~SiPixelClusterSource: Destructor"<<endl;
74 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
76 delete struct_iter->second;
77 struct_iter->second = 0;
88 LogInfo (
"PixelDQM") <<
" SiPixelClusterSource::beginJob - Initialisation ... " << std::endl;
94 LogInfo (
"PixelDQM") <<
"Smiley (Cluster sizeY vs. Cluster eta) is " <<
smileyOn <<
"\n";
108 meClPosLayer1 =
theDMBE->
book2D(
"position_siPixelClusters_Layer_1",
"Clusters Layer1;Global Z (cm);Global #phi",200,-30.,30.,128,-3.2,3.2);
109 meClPosLayer2 =
theDMBE->
book2D(
"position_siPixelClusters_Layer_2",
"Clusters Layer2;Global Z (cm);Global #phi",200,-30.,30.,128,-3.2,3.2);
110 meClPosLayer3 =
theDMBE->
book2D(
"position_siPixelClusters_Layer_3",
"Clusters Layer3;Global Z (cm);Global #phi",200,-30.,30.,128,-3.2,3.2);
112 meClPosDisk1pz =
theDMBE->
book2D(
"position_siPixelClusters_pz_Disk_1",
"Clusters +Z Disk1;Global X (cm);Global Y (cm)",80,-20.,20.,80,-20.,20.);
113 meClPosDisk2pz =
theDMBE->
book2D(
"position_siPixelClusters_pz_Disk_2",
"Clusters +Z Disk2;Global X (cm);Global Y (cm)",80,-20.,20.,80,-20.,20.);
114 meClPosDisk1mz =
theDMBE->
book2D(
"position_siPixelClusters_mz_Disk_1",
"Clusters -Z Disk1;Global X (cm);Global Y (cm)",80,-20.,20.,80,-20.,20.);
115 meClPosDisk2mz =
theDMBE->
book2D(
"position_siPixelClusters_mz_Disk_2",
"Clusters -Z Disk2;Global X (cm);Global Y (cm)",80,-20.,20.,80,-20.,20.);
124 LogInfo (
"PixelDQM") <<
" SiPixelClusterSource::endJob - Saving Root File " << std::endl;
169 int nEventFpixClusters = 0;
172 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
175 int numberOfFpixClusters = (*struct_iter).second->fill(*input, tracker,
modOn,
179 nEventFpixClusters = nEventFpixClusters + numberOfFpixClusters;
190 me->
Fill(lumiSection,1./23.);
205 LogInfo (
"PixelDQM") <<
" SiPixelClusterSource::buildStructure" ;
209 LogVerbatim (
"PixelDQM") <<
" *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
210 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->dets().size() <<
" detectors"<<std::endl;
211 LogVerbatim (
"PixelDQM") <<
" *** I have " << pDD->detTypes().size() <<
" types"<<std::endl;
213 for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
215 if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
217 DetId detId = (*it)->geographicalId();
218 const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
226 uint32_t
id = detId();
230 LogDebug (
"PixelDQM") <<
" ---> Adding Barrel Module " << detId.
rawId() << endl;
233 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;
268 char title[256]; snprintf(title, 256,
"Rate of events with >%i FPIX clusters;LumiSection;Rate of large FPIX events per LS [Hz]",
bigEventSize);
272 std::map<uint32_t,SiPixelClusterModule*>::iterator struct_iter;
285 <<
"[SiPixelClusterSource::bookMEs] Creation of DQM folder failed";
292 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LADDER-FOLDER\n";
299 LogDebug (
"PixelDQM") <<
"PROBLEM WITH LAYER-FOLDER\n";
306 LogDebug (
"PixelDQM") <<
"PROBLEM WITH PHI-FOLDER\n";
313 LogDebug (
"PixelDQM") <<
"PROBLEM WITH BLADE-FOLDER\n";
320 LogDebug (
"PixelDQM") <<
"PROBLEM WITH DISK-FOLDER\n";
327 LogDebug (
"PixelDQM") <<
"PROBLEM WITH RING-FOLDER\n";
334 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
MonitorElement * meClPosDisk2pz
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
#define DEFINE_FWK_MODULE(type)
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
edm::LuminosityBlockNumber_t luminosityBlock() const
double getEntries(void) const
get # of entries
SiPixelClusterSource(const edm::ParameterSet &conf)
uint32_t rawId() const
get the raw id
MonitorElement * meClPosLayer3
int bladeName() const
blade id
virtual void beginRun(const edm::Run &, edm::EventSetup const &)
MonitorElement * meClPosLayer1
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int pannelName() const
pannel id
MonitorElement * meClPosDisk2mz
int diskName() const
disk id
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
MonitorElement * meClPosLayer2
HalfCylinder halfCylinder() const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * bigFpixClusterEventRate
MonitorElement * meClPosDisk1mz
void setCurrentFolder(const std::string &fullpath)
MonitorElement * meClPosDisk1pz
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0)
Set folder name for a module or plaquette.