103 virtual void endJob()
override ;
166 using namespace sistrip;
173 detIDs_( iConfig.getParameter< std::vector<uint32_t> >(
"detIDs")),
174 inputScopeModeRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputScopeModeRawDigiLabel" ) ),
175 inputPayloadRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputPayloadRawDigiLabel" ) ),
176 inputReorderedPayloadRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputReorderedPayloadRawDigiLabel" ) ),
177 inputReorderedModuleRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputReorderedModuleRawDigiLabel" ) ),
178 inputPedestalsLabel_( iConfig.getParameter<edm::InputTag>(
"InputPedestalsLabel" ) ),
179 inputNoisesLabel_( iConfig.getParameter<edm::InputTag>(
"InputNoisesLabel" ) ),
180 inputPostPedestalRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputPostPedestalRawDigiLabel" ) ),
181 inputPostCMRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputPostCMRawDigiLabel" ) ),
182 inputZeroSuppressedRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputZeroSuppressedRawDigiLabel" ) ),
183 inputZeroSuppressedDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputZeroSuppressedDigiLabel" ) ),
184 inputCompVirginRawDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputCompVirginRawDigiLabel" ) ),
185 inputCompZeroSuppressedDigiLabel_( iConfig.getParameter<edm::InputTag>(
"InputCompZeroSuppressedDigiLabel" ) ),
186 outputFolderName_( iConfig.getParameter<std::
string>(
"OutputFolderName" ) )
234 throw cms::Exception(
"Configuration") <<
"TFileService not available: did you configure it ?";
260 stringstream ev_dir_name;
261 ev_dir_name <<
"run" << iEvent.
id().
run() <<
"_event" << iEvent.
id().
event();
271 std::vector< edm::DetSet<SiStripDigi> >::const_iterator digis_it = czs_digis->begin();
272 for (; digis_it!=czs_digis->end(); ++digis_it) {
273 detIDs_.push_back(digis_it->detId());
280 std::vector< edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = cvr_digis->begin();
281 for (; digis_it!=cvr_digis->end(); ++digis_it) {
282 detIDs_.push_back(digis_it->detId());
289 for (std::vector<uint32_t>::iterator d =
detIDs_.begin(); d!=
detIDs_.end(); ++d) {
291 const std::vector<const FedChannelConnection *> & conns = lCabling->getConnections( *d );
294 if (!(conns.size())) {
302 sss <<
"detID_" << *d;
306 for (uint32_t ch = 0; ch<conns.size(); ch++) {
309 stringstream ssss; ssss << sss.str() <<
"_APVpair_" << ch;
451 if (type==
SCOPE_MODE) hist = dir.
make<TH1S>(
"ScopeMode",
";Sample number;ADC counts / strip", 298, 0, 298);
452 else if (type==
PAYLOAD_RAW) hist = dir.
make<TH1S>(
"PayloadRaw",
";Sample number;ADC counts / strip", 256, 0, 256);
453 else if (type==
REORDERED_PAYLOAD_RAW) hist = dir.
make<TH1S>(
"ReorderedPayloadRaw",
";Sample number;ADC counts / strip", 256, 0, 256);
454 else if (type==
REORDERED_MODULE_RAW) hist = dir.
make<TH1S>(
"ReorderedModuleRaw",
";Sample number;ADC counts / strip", 768, 0, 768);
455 else if (type==
PEDESTAL_VALUES) hist = dir.
make<TH1S>(
"PedestalValues",
";Strip number;Pedestal / strip", 768, 0, 768);
456 else if (type==
POST_PEDESTAL) hist = dir.
make<TH1S>(
"PostPedestal",
";Strip number;ADC counts / strip", 768, 0, 768);
457 else if (type==
POST_COMMON_MODE) hist = dir.
make<TH1S>(
"PostCommonMode",
";Strip number;ADC counts / strip", 768, 0, 768);
458 else if (type==
ZERO_SUPPRESSED_PADDED) hist = dir.
make<TH1S>(
"ZeroSuppressedRaw" ,
";Strip number;ADC counts / strip", 768, 0, 768);
459 else if (type==
VR_COMP) hist = dir.
make<TH1S>(
"VirginRawCom" ,
";Strip number;ADC counts / strip", 768, 0, 768);
460 else {hist = 0;
return false;}
464 std::vector< edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = digi_handle->find( specifier );
465 if (digis_it == digi_handle->end()) {
474 for ( ; idigi != digis_it->
data.end(); ++idigi ) {
476 hist->SetBinContent(count,static_cast<int>((*idigi).adc()));
490 if (type==
NOISE_VALUES) hist = dir.
make<TH1F>(
"NoiseValues",
";Strip number;Noise / strip",768, 0, 768);
498 std::vector< edm::DetSet<SiStripProcessedRawDigi> >::const_iterator digis_it = digi_handle->find( specifier );
499 if (digis_it == digi_handle->end()) {
508 for ( ; idigi != digis_it->
data.end(); ++idigi ) {
510 hist->SetBinContent(count,static_cast<float>((*idigi).adc()));
525 if (type==
ZERO_SUPPRESSED) hist = dir.
make<TH1S>(
"ZeroSuppressedDigi",
";Strip number;ADC counts / strip", 768, 0, 768);
526 else if (type==
ZERO_SUPPRESSED_COMP) hist = dir.
make<TH1S>(
"ZeroSuppressedDigiComp",
";Strip number;ADC counts / strip", 768, 0, 768);
527 else {hist = 0;
return false;}
530 std::vector< edm::DetSet<SiStripDigi> >::const_iterator digis_it = digi_handle->find( detID );
531 if (digis_it == digi_handle->end()) {
540 bool founddigi =
false;
541 for ( ; idigi != digis_it->
data.end(); ++idigi ) {
546 hist->SetBinContent( static_cast<int>(((*idigi).strip())) + 1,
static_cast<int>((*idigi).adc()) );
547 if ( (*idigi).adc() > 0 ) founddigi =
true;
edm::InputTag inputZeroSuppressedRawDigiLabel_
Label for the zero-suppressed, zero-padded RawDigi module input tag.
EventNumber_t event() 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)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
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.
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPedestalsToken_
Token for the pedestals.
SiStripSpyDisplayModule(const edm::ParameterSet &)
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)
T * make(const Args &...args) const
make new ROOT object
~SiStripSpyDisplayModule()
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputPostPedestalRawDigiToken_
Token for the post-pedestal subtraction RawDigi module input tag.
virtual void endJob() override
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > inputZeroSuppressedDigiToken_
Guess what? It'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.
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
EDAnalyzer for the online monitoring of the FED using STT spy channel data.
edm::InputTag inputZeroSuppressedDigiLabel_
Guess what? It'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.
collection_type::const_iterator const_iterator
Bool_t MakeProcessedRawDigiHist_(const edm::Handle< edm::DetSetVector< SiStripProcessedRawDigi > > &digi_handle, uint32_t specifier, const TFileDirectory &dir, FEDSpyHistogramType type)
virtual void beginJob() override
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).