CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiStripSpyDisplayModule Class Reference

EDAnalyzer for the online monitoring of the FED using STT spy channel data. More...

Inheritance diagram for SiStripSpyDisplayModule:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 SiStripSpyDisplayModule (const edm::ParameterSet &)
 
 ~SiStripSpyDisplayModule ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
virtual void beginJob () override
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &) override
 
virtual void endJob () override
 
Bool_t MakeDigiHist_ (const edm::Handle< edm::DetSetVector< SiStripDigi > > &digi_handle, uint32_t detID, const TFileDirectory &dir, FEDSpyHistogramType type)
 
Bool_t MakeProcessedRawDigiHist_ (const edm::Handle< edm::DetSetVector< SiStripProcessedRawDigi > > &digi_handle, uint32_t specifier, const TFileDirectory &dir, FEDSpyHistogramType type)
 
Bool_t MakeRawDigiHist_ (const edm::Handle< edm::DetSetVector< SiStripRawDigi > > &digi_handle, uint32_t specifier, const TFileDirectory &dir, FEDSpyHistogramType type)
 

Private Attributes

std::vector< uint32_t > detIDs_
 Vector of detIDs that are of interest (config-specified). More...
 
edm::InputTag inputCompVirginRawDigiLabel_
 VR RawDigis to compare (from mainline) More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputCompVirginRawDigiToken_
 VR RawDigis to compare (from mainline) More...
 
edm::InputTag inputCompZeroSuppressedDigiLabel_
 Zero-suppressed digis to compare (from mainline) More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputCompZeroSuppressedDigiToken_
 Zero-suppressed digis to compare (from mainline) More...
 
edm::InputTag inputNoisesLabel_
 Label for the noises. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputNoisesToken_
 Token for the noises. More...
 
edm::InputTag inputPayloadRawDigiLabel_
 Label for the virgin raw RawDigi collection input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputPayloadRawDigiToken_
 Token for the virgin raw RawDigi collection input tag. More...
 
edm::InputTag inputPedestalsLabel_
 Label for the pedestals. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputPedestalsToken_
 Token for the pedestals. More...
 
edm::InputTag inputPostCMRawDigiLabel_
 Label for the post-common mode subtraction RawDigi module input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputPostCMRawDigiToken_
 Token for the post-common mode subtraction RawDigi module input tag. More...
 
edm::InputTag inputPostPedestalRawDigiLabel_
 Label for the post-pedestal subtraction RawDigi module input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputPostPedestalRawDigiToken_
 Token for the post-pedestal subtraction RawDigi module input tag. More...
 
edm::InputTag inputReorderedModuleRawDigiLabel_
 Label for the re-ordered RawDigi module input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputReorderedModuleRawDigiToken_
 Token for the re-ordered RawDigi module input tag. More...
 
edm::InputTag inputReorderedPayloadRawDigiLabel_
 Label for the re-ordered RawDigi module input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputReorderedPayloadRawDigiToken_
 Token for the re-ordered RawDigi module input tag. More...
 
edm::InputTag inputScopeModeRawDigiLabel_
 Label for the scope-mode RawDigi collection input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputScopeModeRawDigiToken_
 Token for the scope-mode RawDigi collection input tag. More...
 
edm::InputTag inputZeroSuppressedDigiLabel_
 Guess what? It's the input label for the zero-suppressed digi. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputZeroSuppressedDigiToken_
 Guess what? It's the input label for the zero-suppressed digi. More...
 
edm::InputTag inputZeroSuppressedRawDigiLabel_
 Label for the zero-suppressed, zero-padded RawDigi module input tag. More...
 
edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > 
inputZeroSuppressedRawDigiToken_
 Token for the zero-suppressed, zero-padded RawDigi module input tag. More...
 
std::string outputFolderName_
 Name for the folder in the TFileService file output. More...
 
sistrip::SpyUtilities utility_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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

EDAnalyzer for the online monitoring of the FED using STT spy channel data.

Author
Tom Whyntie
Date
Autumn 2009

See https://twiki.cern.ch/twiki/bin/view/CMS/SiStripSpyDisplayModule for further code documentation, and https://twiki.cern.ch/twiki/bin/view/CMS/FEDSpyChannelMonitoring for more information about the spy channel monitoring project.

Definition at line 95 of file SiStripSpyDisplayModule.cc.

Constructor & Destructor Documentation

SiStripSpyDisplayModule::SiStripSpyDisplayModule ( const edm::ParameterSet iConfig)
explicit

Definition at line 173 of file SiStripSpyDisplayModule.cc.

References inputCompVirginRawDigiLabel_, inputCompVirginRawDigiToken_, inputCompZeroSuppressedDigiLabel_, inputCompZeroSuppressedDigiToken_, inputNoisesLabel_, inputNoisesToken_, inputPayloadRawDigiLabel_, inputPayloadRawDigiToken_, inputPedestalsLabel_, inputPedestalsToken_, inputPostCMRawDigiLabel_, inputPostCMRawDigiToken_, inputPostPedestalRawDigiLabel_, inputPostPedestalRawDigiToken_, inputReorderedModuleRawDigiLabel_, inputReorderedModuleRawDigiToken_, inputReorderedPayloadRawDigiLabel_, inputReorderedPayloadRawDigiToken_, inputScopeModeRawDigiLabel_, inputScopeModeRawDigiToken_, inputZeroSuppressedDigiLabel_, inputZeroSuppressedDigiToken_, inputZeroSuppressedRawDigiLabel_, and inputZeroSuppressedRawDigiToken_.

173  :
174  detIDs_( iConfig.getParameter< std::vector<uint32_t> >( "detIDs")),
175  inputScopeModeRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputScopeModeRawDigiLabel" ) ),
176  inputPayloadRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputPayloadRawDigiLabel" ) ),
177  inputReorderedPayloadRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputReorderedPayloadRawDigiLabel" ) ),
178  inputReorderedModuleRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputReorderedModuleRawDigiLabel" ) ),
179  inputPedestalsLabel_( iConfig.getParameter<edm::InputTag>( "InputPedestalsLabel" ) ),
180  inputNoisesLabel_( iConfig.getParameter<edm::InputTag>( "InputNoisesLabel" ) ),
181  inputPostPedestalRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputPostPedestalRawDigiLabel" ) ),
182  inputPostCMRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputPostCMRawDigiLabel" ) ),
183  inputZeroSuppressedRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputZeroSuppressedRawDigiLabel" ) ),
184  inputZeroSuppressedDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputZeroSuppressedDigiLabel" ) ),
185  inputCompVirginRawDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputCompVirginRawDigiLabel" ) ),
186  inputCompZeroSuppressedDigiLabel_( iConfig.getParameter<edm::InputTag>( "InputCompZeroSuppressedDigiLabel" ) ),
187  outputFolderName_( iConfig.getParameter<std::string>( "OutputFolderName" ) )
188 {
189  //now do what ever initialization is needed
190  inputScopeModeRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputScopeModeRawDigiLabel_ );
191  inputPayloadRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputPayloadRawDigiLabel_ );
192  inputReorderedPayloadRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputReorderedPayloadRawDigiLabel_ );
193  inputReorderedModuleRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputReorderedModuleRawDigiLabel_ );
194  inputPedestalsToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputPedestalsLabel_ );
195  inputNoisesToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputNoisesLabel_ );
196  inputPostPedestalRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputPostPedestalRawDigiLabel_ );
197  inputPostCMRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputPostCMRawDigiLabel_ );
198  inputZeroSuppressedRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputZeroSuppressedRawDigiLabel_ );
199  inputZeroSuppressedDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputZeroSuppressedDigiLabel_ );
200  inputCompVirginRawDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputCompVirginRawDigiLabel_ );
201  inputCompZeroSuppressedDigiToken_ = consumes<edm::DetSetVector<SiStripDigi> >(inputCompZeroSuppressedDigiLabel_ );
202 
203 }
edm::InputTag inputZeroSuppressedRawDigiLabel_
Label for the zero-suppressed, zero-padded RawDigi module input tag.
T getParameter(std::string const &) const
edm::InputTag inputCompZeroSuppressedDigiLabel_
Zero-suppressed digis to compare (from mainline)
edm::InputTag inputPayloadRawDigiLabel_
Label for the virgin raw RawDigi collection input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputCompVirginRawDigiToken_
VR RawDigis to compare (from mainline)
edm::InputTag inputReorderedPayloadRawDigiLabel_
Label for the re-ordered RawDigi module input tag.
edm::InputTag inputPostCMRawDigiLabel_
Label for the post-common mode subtraction RawDigi module input tag.
std::string outputFolderName_
Name for the folder in the TFileService file output.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputNoisesToken_
Token for the noises.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPedestalsToken_
Token for the pedestals.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPostCMRawDigiToken_
Token for the post-common mode subtraction RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputZeroSuppressedRawDigiToken_
Token for the zero-suppressed, zero-padded RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPayloadRawDigiToken_
Token for the virgin raw RawDigi collection input tag.
edm::InputTag inputPostPedestalRawDigiLabel_
Label for the post-pedestal subtraction RawDigi module input tag.
edm::InputTag inputCompVirginRawDigiLabel_
VR RawDigis to compare (from mainline)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputCompZeroSuppressedDigiToken_
Zero-suppressed digis to compare (from mainline)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPostPedestalRawDigiToken_
Token for the post-pedestal subtraction RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputZeroSuppressedDigiToken_
Guess what? It&#39;s the input label for the zero-suppressed digi.
edm::InputTag inputScopeModeRawDigiLabel_
Label for the scope-mode RawDigi collection input tag.
edm::InputTag inputNoisesLabel_
Label for the noises.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputScopeModeRawDigiToken_
Token for the scope-mode RawDigi collection input tag.
edm::InputTag inputZeroSuppressedDigiLabel_
Guess what? It&#39;s the input label for the zero-suppressed digi.
edm::InputTag inputPedestalsLabel_
Label for the pedestals.
edm::InputTag inputReorderedModuleRawDigiLabel_
Label for the re-ordered RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputReorderedModuleRawDigiToken_
Token for the re-ordered RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputReorderedPayloadRawDigiToken_
Token for the re-ordered RawDigi module input tag.
std::vector< uint32_t > detIDs_
Vector of detIDs that are of interest (config-specified).
SiStripSpyDisplayModule::~SiStripSpyDisplayModule ( )

Definition at line 206 of file SiStripSpyDisplayModule.cc.

207 {
208  // do anything here that needs to be done at desctruction time
209  // (e.g. close files, deallocate resources etc.)
210 }

Member Function Documentation

void SiStripSpyDisplayModule::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

< detID folder filename

Implements edm::EDAnalyzer.

Definition at line 244 of file SiStripSpyDisplayModule.cc.

References detIDs_, edm::EventID::event(), SiStripFedKey::fedIndex(), edm::Event::getByToken(), sistrip::SpyUtilities::getDetCabling(), edm::EventBase::id(), inputCompVirginRawDigiLabel_, inputCompVirginRawDigiToken_, inputCompZeroSuppressedDigiLabel_, inputCompZeroSuppressedDigiToken_, inputNoisesLabel_, inputNoisesToken_, inputPayloadRawDigiLabel_, inputPayloadRawDigiToken_, inputPedestalsLabel_, inputPedestalsToken_, inputPostCMRawDigiLabel_, inputPostCMRawDigiToken_, inputPostPedestalRawDigiLabel_, inputPostPedestalRawDigiToken_, inputReorderedModuleRawDigiLabel_, inputReorderedModuleRawDigiToken_, inputReorderedPayloadRawDigiLabel_, inputReorderedPayloadRawDigiToken_, inputScopeModeRawDigiLabel_, inputScopeModeRawDigiToken_, inputZeroSuppressedDigiLabel_, inputZeroSuppressedDigiToken_, edm::InputTag::instance(), edm::InputTag::label(), MakeDigiHist_(), MakeProcessedRawDigiHist_(), MakeRawDigiHist_(), TFileDirectory::mkdir(), NOISE_VALUES, outputFolderName_, PAYLOAD_RAW, PEDESTAL_VALUES, POST_COMMON_MODE, POST_PEDESTAL, REORDERED_MODULE_RAW, REORDERED_PAYLOAD_RAW, edm::EventID::run(), SCOPE_MODE, utility_, VR_COMP, ZERO_SUPPRESSED, and ZERO_SUPPRESSED_COMP.

245 {
246  using namespace edm;
247  using namespace std;
248 
249  //retrieve cabling
250  const SiStripDetCabling* lCabling = utility_.getDetCabling( iSetup );
251 
252  // Set up the event-level histogram folder
253  //-----------------------------------------
254  // register to the TFileService
256 
257  // Make the EDAnalyzer instance name directory
258  TFileDirectory an_dir = fs->mkdir( outputFolderName_ );
259 
260  // Make the event directory filename
261  stringstream ev_dir_name;
262  ev_dir_name << "run" << iEvent.id().run() << "_event" << iEvent.id().event();
263  TFileDirectory evdir = an_dir.mkdir( ev_dir_name.str() );
264 
265  //if there are no detIds, get them from the comparison digis...
266  if (detIDs_.size()==0) {
267  //get the detIds of the modules in the zero-suppressed comparison
270  // iEvent.getByLabel( inputCompZeroSuppressedDigiLabel_, czs_digis );
271  iEvent.getByToken( inputCompZeroSuppressedDigiToken_, czs_digis );
272  std::vector< edm::DetSet<SiStripDigi> >::const_iterator digis_it = czs_digis->begin();
273  for (; digis_it!=czs_digis->end(); ++digis_it) {
274  detIDs_.push_back(digis_it->detId());
275  }
276  }
279  // iEvent.getByLabel( inputCompVirginRawDigiLabel_, cvr_digis );
280  iEvent.getByToken( inputCompVirginRawDigiToken_, cvr_digis );
281  std::vector< edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = cvr_digis->begin();
282  for (; digis_it!=cvr_digis->end(); ++digis_it) {
283  detIDs_.push_back(digis_it->detId());
284  }
285  }
286 
287  }
288 
289  // Loop over detIDs as obtained from the SpyChannelMonitor config file.
290  for (std::vector<uint32_t>::iterator d = detIDs_.begin(); d!=detIDs_.end(); ++d) {
291  // TODO: Need some error checking here, probably...
292  const std::vector<const FedChannelConnection *> & conns = lCabling->getConnections( *d );
293  //cout << "________________________________________________" << endl;
294  //cout << "FED channels found in detId " << *d << " is " << conns.size() << endl;
295  if (!(conns.size())) {
296  // TODO: Properly DEBUG/warning this...
297  //cout << "Skipping detID " << uint32_t(*d) << endl;
298  continue;
299  }
300 
301  // Create a histogram directory for each specified and available detID
302  stringstream sss;
303  sss << "detID_" << *d;
304  TFileDirectory detID_dir = evdir.mkdir( sss.str() );
305 
306  // Loop over the channels found with the detID and add directories.
307  for (uint32_t ch = 0; ch<conns.size(); ch++) {
308  if(conns[ch] && conns[ch]->isConnected()) {
309 
310  // Name of channel histogram directory
311  stringstream ssss; ssss << sss.str() << "_APVpair_" << ch;
312  TFileDirectory chan_dir = detID_dir.mkdir(ssss.str());
313 
314  // Get the fed key from the detID and the channel
315  uint32_t fedkey = SiStripFedKey::fedIndex(conns[ch]->fedId(), conns[ch]->fedCh());
316 
317  // (Spy) Scope Mode (SM)
318  //=======================
319  // Get the fed key from the FED ID and the FED channel (from conns)
320  // This is because scope mode always stores in the collection by FED ID
322  // Use the SiStripFedKey object to return the FED key
323  //cout << "detID=" << *d << ", FED key looking for is " << fedkey << endl;
324  //cout << "Attempting to find scope mode raw digis" << endl;
325  //
327  // iEvent.getByLabel( inputScopeModeRawDigiLabel_, sm_rawdigis );
328  iEvent.getByToken( inputScopeModeRawDigiToken_, sm_rawdigis );
329  //
330  // Note that the fed key (also a uint32_t) is passed in this case.
331  // The method itself doesn't actually care, but it assumes whatever collection
332  // is stored in sm_rawdigis is indexed by FED key ;-)
333  // TODO: Make this, um, better.
334  if (!(MakeRawDigiHist_(sm_rawdigis, fedkey, chan_dir, SCOPE_MODE))) { ; }
335  }
336 
337  // Payload Unordered Raw (UR)
338  //============================
340  uint32_t fedindex = SiStripFedKey::fedIndex(conns[ch]->fedId(), conns[ch]->fedCh());
341  //cout << "Attempting to find payload mode raw digis" << endl;
343  // iEvent.getByLabel( inputPayloadRawDigiLabel_, ur_rawdigis );
344  iEvent.getByToken( inputPayloadRawDigiToken_, ur_rawdigis );
345  if (!(MakeRawDigiHist_(ur_rawdigis, fedindex, chan_dir, PAYLOAD_RAW))) { ; }
346  }
347  // Payload Reordered Raw
348  //=======================
350  uint32_t fedkey = SiStripFedKey::fedIndex(conns[ch]->fedId(), conns[ch]->fedCh());
352  // iEvent.getByLabel( inputReorderedPayloadRawDigiLabel_, rrp_rawdigis );
353  iEvent.getByToken( inputReorderedPayloadRawDigiToken_, rrp_rawdigis );
354  if (!(MakeRawDigiHist_(rrp_rawdigis, fedkey, chan_dir, REORDERED_PAYLOAD_RAW))) { ; }
355  }
356  }
357  } // end of loop over channels
358  //
359  // Module Reordered Raw (RR)
360  //====================
363  // iEvent.getByLabel( inputReorderedModuleRawDigiLabel_, rr_rawdigis );
364  iEvent.getByToken( inputReorderedModuleRawDigiToken_, rr_rawdigis );
365  //cout << "Making Reordered module histogram for detID " << *d << endl;
366  if (!(MakeRawDigiHist_(rr_rawdigis, *d, detID_dir, REORDERED_MODULE_RAW))) { ; }
367  } // end of ReorderedModuleRaw check
368 
369  //
370  // Pedestal values
371  //========================
372  if (!((inputPedestalsLabel_.label()=="") && (inputPedestalsLabel_.instance()==""))) {
374  // iEvent.getByLabel( inputPedestalsLabel_, pd_rawdigis );
375  iEvent.getByToken( inputPedestalsToken_, pd_rawdigis );
376  //cout << "Making pedestal values module histogram for detID " << *d << endl;
377  if (!(MakeRawDigiHist_(pd_rawdigis, *d, detID_dir, PEDESTAL_VALUES))) { ; }
378  }
379  //
380  // Noise values
381  //========================
382  if (!((inputNoisesLabel_.label()=="") && (inputNoisesLabel_.instance()==""))) {
384  // iEvent.getByLabel( inputNoisesLabel_, pd_rawdigis );
385  iEvent.getByToken( inputNoisesToken_, pd_rawdigis );
386  //cout << "Making noise values module histogram for detID " << *d << endl;
387  if (!(MakeProcessedRawDigiHist_(pd_rawdigis, *d, detID_dir, NOISE_VALUES))) { ; }
388  }
389  //
390  // Post-Pedestal Raw (PP)
391  //========================
394  // iEvent.getByLabel( inputPostPedestalRawDigiLabel_, pp_rawdigis );
395  iEvent.getByToken( inputPostPedestalRawDigiToken_, pp_rawdigis );
396  //cout << "Making post-pedestal module histogram for detID " << *d << endl;
397  if (!(MakeRawDigiHist_(pp_rawdigis, *d, detID_dir, POST_PEDESTAL))) { ; }
398  }
399  //
400  // Post-Common Mode Subtraction Raw (PC)
401  //=======================================
404  // iEvent.getByLabel( inputPostCMRawDigiLabel_, pc_rawdigis );
405  iEvent.getByToken( inputPostCMRawDigiToken_, pc_rawdigis );
406  //cout << "Making post-CM module histogram for detID " << *d << endl;
407  if (!(MakeRawDigiHist_(pc_rawdigis, *d, detID_dir, POST_COMMON_MODE))) { ; }
408  }
409 
410  //
411  // Zero-Suppressed Digis
412  //=======================
413  //bool founddigispy = false, founddigimain = false;
415  //cout << "Making ZeroSuppressed histogram!" << endl;
417  // iEvent.getByLabel( inputZeroSuppressedDigiLabel_, zs_digis );
418  iEvent.getByToken( inputZeroSuppressedDigiToken_, zs_digis );
419  //founddigispy =
420  MakeDigiHist_(zs_digis, *d, detID_dir, ZERO_SUPPRESSED);
421  }
422  //comparison to mainline data
424  //cout << "Making Mainline VirginRaw histogram!" << endl;
426  // iEvent.getByLabel( inputCompVirginRawDigiLabel_, cvr_digis );
427  iEvent.getByToken( inputCompVirginRawDigiToken_, cvr_digis );
428  //founddigimain =
429  MakeRawDigiHist_(cvr_digis, *d, detID_dir, VR_COMP);
430  }
432  //cout << "Making ZeroSuppressed histogram!" << endl;
434  // iEvent.getByLabel( inputCompZeroSuppressedDigiLabel_, czs_digis );
435  iEvent.getByToken( inputCompZeroSuppressedDigiToken_, czs_digis );
436  //founddigimain =
437  MakeDigiHist_(czs_digis, *d, detID_dir, ZERO_SUPPRESSED_COMP);
438  }
439  //if (founddigimain && founddigispy) cout << "Found digis for both in detid=" << *d << endl;
440 
441  } // end of loop over detIDs specified in the config.
442 
443 } // end of Analyze method.
RunNumber_t run() const
Definition: EventID.h:42
EventNumber_t event() const
Definition: EventID.h:44
edm::InputTag inputCompZeroSuppressedDigiLabel_
Zero-suppressed digis to compare (from mainline)
edm::InputTag inputPayloadRawDigiLabel_
Label for the virgin raw RawDigi collection input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputCompVirginRawDigiToken_
VR RawDigis to compare (from mainline)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
Bool_t MakeDigiHist_(const edm::Handle< edm::DetSetVector< SiStripDigi > > &digi_handle, uint32_t detID, const TFileDirectory &dir, FEDSpyHistogramType type)
const SiStripDetCabling * getDetCabling(const edm::EventSetup &)
Updates the det cabling object from the DB.
edm::InputTag inputReorderedPayloadRawDigiLabel_
Label for the re-ordered RawDigi module input tag.
static uint32_t fedIndex(const uint16_t &fed_id, const uint16_t &fed_ch)
edm::InputTag inputPostCMRawDigiLabel_
Label for the post-common mode subtraction RawDigi module input tag.
std::string outputFolderName_
Name for the folder in the TFileService file output.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputNoisesToken_
Token for the noises.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPedestalsToken_
Token for the pedestals.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPostCMRawDigiToken_
Token for the post-common mode subtraction RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPayloadRawDigiToken_
Token for the virgin raw RawDigi collection input tag.
edm::InputTag inputPostPedestalRawDigiLabel_
Label for the post-pedestal subtraction RawDigi module input tag.
edm::InputTag inputCompVirginRawDigiLabel_
VR RawDigis to compare (from mainline)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputCompZeroSuppressedDigiToken_
Zero-suppressed digis to compare (from mainline)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPostPedestalRawDigiToken_
Token for the post-pedestal subtraction RawDigi module input tag.
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputZeroSuppressedDigiToken_
Guess what? It&#39;s the input label for the zero-suppressed digi.
edm::InputTag inputScopeModeRawDigiLabel_
Label for the scope-mode RawDigi collection input tag.
edm::InputTag inputNoisesLabel_
Label for the noises.
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputScopeModeRawDigiToken_
Token for the scope-mode RawDigi collection input tag.
std::string const & label() const
Definition: InputTag.h:42
edm::EventID id() const
Definition: EventBase.h:56
edm::InputTag inputZeroSuppressedDigiLabel_
Guess what? It&#39;s the input label for the zero-suppressed digi.
sistrip::SpyUtilities utility_
Bool_t MakeRawDigiHist_(const edm::Handle< edm::DetSetVector< SiStripRawDigi > > &digi_handle, uint32_t specifier, const TFileDirectory &dir, FEDSpyHistogramType type)
edm::InputTag inputPedestalsLabel_
Label for the pedestals.
edm::InputTag inputReorderedModuleRawDigiLabel_
Label for the re-ordered RawDigi module input tag.
Bool_t MakeProcessedRawDigiHist_(const edm::Handle< edm::DetSetVector< SiStripProcessedRawDigi > > &digi_handle, uint32_t specifier, const TFileDirectory &dir, FEDSpyHistogramType type)
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputReorderedModuleRawDigiToken_
Token for the re-ordered RawDigi module input tag.
std::string const & instance() const
Definition: InputTag.h:43
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputReorderedPayloadRawDigiToken_
Token for the re-ordered RawDigi module input tag.
std::vector< uint32_t > detIDs_
Vector of detIDs that are of interest (config-specified).
void SiStripSpyDisplayModule::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 229 of file SiStripSpyDisplayModule.cc.

References edm::hlt::Exception, and edm::Service< T >::isAvailable().

230 {
231  // register to the TFileService
233  // Check that the TFileService has been configured
234  if ( !fs.isAvailable() ) {
235  throw cms::Exception("Configuration") << "TFileService not available: did you configure it ?";
236  }
237 } // end of beginJob method.
bool isAvailable() const
Definition: Service.h:46
void SiStripSpyDisplayModule::beginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 217 of file SiStripSpyDisplayModule.cc.

218 {
219  // Retrieve FED cabling object
220  //iSetup.get<SiStripDetCablingRcd>().get( cabling_ );
221  //std::stringstream ss;
222  //cabling_->print(ss);
223  //std::cout << ss.str() << std::endl;
224 
225 } // end of beginRun method.
void SiStripSpyDisplayModule::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 240 of file SiStripSpyDisplayModule.cc.

240 {}
Bool_t SiStripSpyDisplayModule::MakeDigiHist_ ( const edm::Handle< edm::DetSetVector< SiStripDigi > > &  digi_handle,
uint32_t  detID,
const TFileDirectory dir,
FEDSpyHistogramType  type 
)
private

Definition at line 518 of file SiStripSpyDisplayModule.cc.

References edm::DetSet< T >::data, estimatePileup::hist, TFileDirectory::make(), ZERO_SUPPRESSED, and ZERO_SUPPRESSED_COMP.

Referenced by analyze().

525 {
526  // TODO: Remove the hard-coded numbers.
527  TH1S * hist;
528  if (type==ZERO_SUPPRESSED) hist = dir.make<TH1S>("ZeroSuppressedDigi", ";Strip number;ADC counts / strip", 768, 0, 768);
529  else if (type==ZERO_SUPPRESSED_COMP) hist = dir.make<TH1S>("ZeroSuppressedDigiComp", ";Strip number;ADC counts / strip", 768, 0, 768);
530  else {hist = 0; return false;}
531 
532  // TODO: May need to make this error checking independent when refactoring...
533  std::vector< edm::DetSet<SiStripDigi> >::const_iterator digis_it = digi_handle->find( detID );
534  if (digis_it == digi_handle->end()) {
535  return false;
536  }
537  else {
538  //cout << "--* ZS digis found for detID " << detID << endl;
539  }
540 
541  // Loop over the digis for the detID and APV pair.
542  edm::DetSet<SiStripDigi>::const_iterator idigi = digis_it->data.begin();
543  bool founddigi = false;
544  for ( ; idigi != digis_it->data.end(); ++idigi ) {
545  // Check strip number is within the channel limits
546  //if ( static_cast<uint16_t>( (*idigi).strip()/256. ) == channel ) {
547  // hist->SetBinContent( ((*idigi).strip())%256 + 1,(*idigi).adc());
548  //}
549  hist->SetBinContent( static_cast<int>(((*idigi).strip())) + 1, static_cast<int>((*idigi).adc()) );
550  if ( (*idigi).adc() > 0 ) founddigi = true;
551  //cout << "----* ZS digi found at " << static_cast<int>(((*idigi).strip()))
552  // << ", " << static_cast<int>((*idigi).adc()) << endl;
553  } // end of loop over the digis
554 
555  return founddigi;
556 }
type
Definition: HCALResponse.h:21
iterator find(det_id_type id)
Definition: DetSetVector.h:292
T * make(const Args &...args) const
make new ROOT object
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:363
collection_type data
Definition: DetSet.h:78
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
Bool_t SiStripSpyDisplayModule::MakeProcessedRawDigiHist_ ( const edm::Handle< edm::DetSetVector< SiStripProcessedRawDigi > > &  digi_handle,
uint32_t  specifier,
const TFileDirectory dir,
FEDSpyHistogramType  type 
)
private

Definition at line 484 of file SiStripSpyDisplayModule.cc.

References prof2calltree::count, edm::DetSet< T >::data, estimatePileup::hist, TFileDirectory::make(), and NOISE_VALUES.

Referenced by analyze().

490 {
491  // TODO: Remove the hard-coded numbers(!).
492  TH1F * hist;
493  if (type==NOISE_VALUES) hist = dir.make<TH1F>("NoiseValues",";Strip number;Noise / strip",768, 0, 768);
494  else {
495  hist = 0;
496  return false;
497  }
498 
499  // TODO: May need to make this error checking independent when refactoring...
500  //std::cout << "| * digis for " << type << " and detID " << specifier;
501  std::vector< edm::DetSet<SiStripProcessedRawDigi> >::const_iterator digis_it = digi_handle->find( specifier );
502  if (digis_it == digi_handle->end()) {
503  //std::cout << " not found :( ";
504  return false;
505  }
506  //std::cout << std::endl;
507 
508  // Loop over the digis for the detID and APV pair.
509  edm::DetSet<SiStripProcessedRawDigi>::const_iterator idigi = digis_it->data.begin();
510  uint32_t count = 0;
511  for ( ; idigi != digis_it->data.end(); ++idigi ) {
512  count++;
513  hist->SetBinContent(count,static_cast<float>((*idigi).adc()));
514  } // end of loop over the digis
515  return true; // Success! (Probably.)
516 }
type
Definition: HCALResponse.h:21
T * make(const Args &...args) const
make new ROOT object
collection_type data
Definition: DetSet.h:78
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
Bool_t SiStripSpyDisplayModule::MakeRawDigiHist_ ( const edm::Handle< edm::DetSetVector< SiStripRawDigi > > &  digi_handle,
uint32_t  specifier,
const TFileDirectory dir,
FEDSpyHistogramType  type 
)
private

Definition at line 445 of file SiStripSpyDisplayModule.cc.

References prof2calltree::count, edm::DetSet< T >::data, estimatePileup::hist, TFileDirectory::make(), PAYLOAD_RAW, PEDESTAL_VALUES, POST_COMMON_MODE, POST_PEDESTAL, REORDERED_MODULE_RAW, REORDERED_PAYLOAD_RAW, SCOPE_MODE, VR_COMP, and ZERO_SUPPRESSED_PADDED.

Referenced by analyze().

451 {
452  // TODO: Remove the hard-coded numbers(!).
453  TH1S * hist;
454  if (type==SCOPE_MODE) hist = dir.make<TH1S>("ScopeMode", ";Sample number;ADC counts / strip", 298, 0, 298);
455  else if (type==PAYLOAD_RAW) hist = dir.make<TH1S>("PayloadRaw", ";Sample number;ADC counts / strip", 256, 0, 256);
456  else if (type==REORDERED_PAYLOAD_RAW) hist = dir.make<TH1S>("ReorderedPayloadRaw", ";Sample number;ADC counts / strip", 256, 0, 256);
457  else if (type==REORDERED_MODULE_RAW) hist = dir.make<TH1S>("ReorderedModuleRaw", ";Sample number;ADC counts / strip", 768, 0, 768);
458  else if (type==PEDESTAL_VALUES) hist = dir.make<TH1S>("PedestalValues", ";Strip number;Pedestal / strip", 768, 0, 768);
459  else if (type==POST_PEDESTAL) hist = dir.make<TH1S>("PostPedestal", ";Strip number;ADC counts / strip", 768, 0, 768);
460  else if (type==POST_COMMON_MODE) hist = dir.make<TH1S>("PostCommonMode", ";Strip number;ADC counts / strip", 768, 0, 768);
461  else if (type==ZERO_SUPPRESSED_PADDED) hist = dir.make<TH1S>("ZeroSuppressedRaw" , ";Strip number;ADC counts / strip", 768, 0, 768);
462  else if (type==VR_COMP) hist = dir.make<TH1S>("VirginRawCom" , ";Strip number;ADC counts / strip", 768, 0, 768);
463  else {hist = 0; return false;}
464 
465  // TODO: May need to make this error checking independent when refactoring...
466  //std::cout << "| * digis for " << type << " and detID " << specifier;
467  std::vector< edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = digi_handle->find( specifier );
468  if (digis_it == digi_handle->end()) {
469  //std::cout << " not found :( ";
470  return false;
471  }
472  //std::cout << std::endl;
473 
474  // Loop over the digis for the detID and APV pair.
475  edm::DetSet<SiStripRawDigi>::const_iterator idigi = digis_it->data.begin();
476  uint32_t count = 0;
477  for ( ; idigi != digis_it->data.end(); ++idigi ) {
478  count++;
479  hist->SetBinContent(count,static_cast<int>((*idigi).adc()));
480  } // end of loop over the digis
481  return true; // Success! (Probably.)
482 }
type
Definition: HCALResponse.h:21
iterator find(det_id_type id)
Definition: DetSetVector.h:292
T * make(const Args &...args) const
make new ROOT object
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:363
collection_type data
Definition: DetSet.h:78
collection_type::const_iterator const_iterator
Definition: DetSet.h:33

Member Data Documentation

std::vector<uint32_t> SiStripSpyDisplayModule::detIDs_
private

Vector of detIDs that are of interest (config-specified).

Definition at line 122 of file SiStripSpyDisplayModule.cc.

Referenced by analyze().

edm::InputTag SiStripSpyDisplayModule::inputCompVirginRawDigiLabel_
private

VR RawDigis to compare (from mainline)

Definition at line 139 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputCompVirginRawDigiToken_
private

VR RawDigis to compare (from mainline)

Definition at line 152 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputCompZeroSuppressedDigiLabel_
private

Zero-suppressed digis to compare (from mainline)

Definition at line 140 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputCompZeroSuppressedDigiToken_
private

Zero-suppressed digis to compare (from mainline)

Definition at line 153 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputNoisesLabel_
private

Label for the noises.

Definition at line 134 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputNoisesToken_
private

Token for the noises.

Definition at line 147 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputPayloadRawDigiLabel_
private

Label for the virgin raw RawDigi collection input tag.

Definition at line 130 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputPayloadRawDigiToken_
private

Token for the virgin raw RawDigi collection input tag.

Definition at line 143 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputPedestalsLabel_
private

Label for the pedestals.

Definition at line 133 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputPedestalsToken_
private

Token for the pedestals.

Definition at line 146 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputPostCMRawDigiLabel_
private

Label for the post-common mode subtraction RawDigi module input tag.

Definition at line 136 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputPostCMRawDigiToken_
private

Token for the post-common mode subtraction RawDigi module input tag.

Definition at line 149 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputPostPedestalRawDigiLabel_
private

Label for the post-pedestal subtraction RawDigi module input tag.

Definition at line 135 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputPostPedestalRawDigiToken_
private

Token for the post-pedestal subtraction RawDigi module input tag.

Definition at line 148 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputReorderedModuleRawDigiLabel_
private

Label for the re-ordered RawDigi module input tag.

Definition at line 132 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputReorderedModuleRawDigiToken_
private

Token for the re-ordered RawDigi module input tag.

Definition at line 145 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputReorderedPayloadRawDigiLabel_
private

Label for the re-ordered RawDigi module input tag.

Definition at line 131 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputReorderedPayloadRawDigiToken_
private

Token for the re-ordered RawDigi module input tag.

Definition at line 144 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputScopeModeRawDigiLabel_
private

Label for the scope-mode RawDigi collection input tag.

Definition at line 129 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputScopeModeRawDigiToken_
private

Token for the scope-mode RawDigi collection input tag.

Definition at line 142 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputZeroSuppressedDigiLabel_
private

Guess what? It's the input label for the zero-suppressed digi.

Definition at line 138 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputZeroSuppressedDigiToken_
private

Guess what? It's the input label for the zero-suppressed digi.

Definition at line 151 of file SiStripSpyDisplayModule.cc.

Referenced by analyze(), and SiStripSpyDisplayModule().

edm::InputTag SiStripSpyDisplayModule::inputZeroSuppressedRawDigiLabel_
private

Label for the zero-suppressed, zero-padded RawDigi module input tag.

Definition at line 137 of file SiStripSpyDisplayModule.cc.

Referenced by SiStripSpyDisplayModule().

edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > SiStripSpyDisplayModule::inputZeroSuppressedRawDigiToken_
private

Token for the zero-suppressed, zero-padded RawDigi module input tag.

Definition at line 150 of file SiStripSpyDisplayModule.cc.

Referenced by SiStripSpyDisplayModule().

std::string SiStripSpyDisplayModule::outputFolderName_
private

Name for the folder in the TFileService file output.

Definition at line 157 of file SiStripSpyDisplayModule.cc.

Referenced by analyze().

sistrip::SpyUtilities SiStripSpyDisplayModule::utility_
private

Definition at line 125 of file SiStripSpyDisplayModule.cc.

Referenced by analyze().