180 using namespace sistrip;
187 : detIDs_(iConfig.getParameter<std::
vector<uint32_t> >(
"detIDs")),
190 inputScopeModeRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputScopeModeRawDigiLabel")),
191 inputPayloadRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputPayloadRawDigiLabel")),
192 inputReorderedPayloadRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputReorderedPayloadRawDigiLabel")),
193 inputReorderedModuleRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputReorderedModuleRawDigiLabel")),
194 inputPedestalsLabel_(iConfig.getParameter<edm::
InputTag>(
"InputPedestalsLabel")),
195 inputNoisesLabel_(iConfig.getParameter<edm::
InputTag>(
"InputNoisesLabel")),
196 inputPostPedestalRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputPostPedestalRawDigiLabel")),
197 inputPostCMRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputPostCMRawDigiLabel")),
198 inputZeroSuppressedRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputZeroSuppressedRawDigiLabel")),
199 inputZeroSuppressedDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputZeroSuppressedDigiLabel")),
200 inputCompVirginRawDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputCompVirginRawDigiLabel")),
201 inputCompZeroSuppressedDigiLabel_(iConfig.getParameter<edm::
InputTag>(
"InputCompZeroSuppressedDigiLabel")),
202 outputFolderName_(iConfig.getParameter<std::
string>(
"OutputFolderName")) {
247 throw cms::Exception(
"Configuration") <<
"TFileService not available: did you configure it ?";
270 stringstream ev_dir_name;
271 ev_dir_name <<
"run" << iEvent.
id().
run() <<
"_event" << iEvent.
id().
event();
282 std::vector<edm::DetSet<SiStripDigi> >::const_iterator digis_it = czs_digis->begin();
283 for (; digis_it != czs_digis->end(); ++digis_it) {
284 detIDs_.push_back(digis_it->detId());
290 std::vector<edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = cvr_digis->begin();
291 for (; digis_it != cvr_digis->end(); ++digis_it) {
292 detIDs_.push_back(digis_it->detId());
298 for (std::vector<uint32_t>::iterator
d =
detIDs_.begin();
d !=
detIDs_.end(); ++
d) {
303 if (!(conns.size())) {
311 sss <<
"detID_" << *
d;
315 for (uint32_t ch = 0; ch < conns.size(); ch++) {
316 if (conns[ch] && conns[ch]->isConnected()) {
319 ssss << sss.str() <<
"_APVpair_" << ch;
481 hist = dir.
make<TH1S>(
"ScopeMode",
";Sample number;ADC counts / strip", 298, 0, 298);
483 hist = dir.
make<TH1S>(
"PayloadRaw",
";Sample number;ADC counts / strip", 256, 0, 256);
485 hist = dir.
make<TH1S>(
"ReorderedPayloadRaw",
";Sample number;ADC counts / strip", 256, 0, 256);
487 hist = dir.
make<TH1S>(
"ReorderedModuleRaw",
";Sample number;ADC counts / strip", 768, 0, 768);
489 hist = dir.
make<TH1S>(
"PedestalValues",
";Strip number;Pedestal / strip", 768, 0, 768);
491 hist = dir.
make<TH1S>(
"PostPedestal",
";Strip number;ADC counts / strip", 768, 0, 768);
493 hist = dir.
make<TH1S>(
"PostCommonMode",
";Strip number;ADC counts / strip", 768, 0, 768);
495 hist = dir.
make<TH1S>(
"ZeroSuppressedRaw",
";Strip number;ADC counts / strip", 768, 0, 768);
497 hist = dir.
make<TH1S>(
"VirginRawCom",
";Strip number;ADC counts / strip", 768, 0, 768);
505 std::vector<edm::DetSet<SiStripRawDigi> >::const_iterator digis_it = digi_handle->find(specifier);
506 if (digis_it == digi_handle->end()) {
515 for (; idigi != digis_it->
data.end(); ++idigi) {
517 hist->SetBinContent(count, static_cast<int>((*idigi).adc()));
532 hist = dir.
make<TH1F>(
"NoiseValues",
";Strip number;Noise / strip", 768, 0, 768);
540 std::vector<edm::DetSet<SiStripProcessedRawDigi> >::const_iterator digis_it = digi_handle->find(specifier);
541 if (digis_it == digi_handle->end()) {
550 for (; idigi != digis_it->
data.end(); ++idigi) {
552 hist->SetBinContent(count, static_cast<float>((*idigi).adc()));
567 hist = dir.
make<TH1S>(
"ZeroSuppressedDigi",
";Strip number;ADC counts / strip", 768, 0, 768);
569 hist = dir.
make<TH1S>(
"ZeroSuppressedDigiComp",
";Strip number;ADC counts / strip", 768, 0, 768);
576 std::vector<edm::DetSet<SiStripDigi> >::const_iterator digis_it = digi_handle->find(detID);
577 if (digis_it == digi_handle->end()) {
585 bool founddigi =
false;
586 for (; idigi != digis_it->
data.end(); ++idigi) {
591 hist->SetBinContent(static_cast<int>(((*idigi).strip())) + 1,
static_cast<int>((*idigi).adc()));
592 if ((*idigi).adc() > 0)
edm::EDGetTokenT< edm::DetSetVector< SiStripProcessedRawDigi > > inputNoisesToken_
Token for the noises.
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::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputScopeModeRawDigiToken_
Token for the scope-mode RawDigi collection input tag.
edm::InputTag inputPayloadRawDigiLabel_
Label for the virgin raw RawDigi collection input tag.
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputPayloadRawDigiToken_
Token for the virgin raw RawDigi collection input tag.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
const SiStripDetCabling * detCabling_
Bool_t MakeDigiHist_(const edm::Handle< edm::DetSetVector< SiStripDigi > > &digi_handle, uint32_t detID, const TFileDirectory &dir, FEDSpyHistogramType type)
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputZeroSuppressedRawDigiToken_
Token for the zero-suppressed, zero-padded RawDigi module input tag.
edm::ESWatcher< SiStripDetCablingRcd > cablingWatcher_
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)
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
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.
void analyze(const edm::Event &, const edm::EventSetup &) override
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
SiStripSpyDisplayModule(const edm::ParameterSet &)
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputPostCMRawDigiToken_
Token for the post-common mode subtraction RawDigi module input tag.
edm::InputTag inputPostPedestalRawDigiLabel_
Label for the post-pedestal subtraction RawDigi module input tag.
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputPedestalsToken_
Token for the pedestals.
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
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputReorderedPayloadRawDigiToken_
Token for the re-ordered RawDigi module input tag.
void updateDetCabling(const SiStripDetCablingRcd &rcd)
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.
bool check(const edm::EventSetup &iSetup)
void beginRun(const edm::Run &, const edm::EventSetup &) override
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputReorderedModuleRawDigiToken_
Token for the re-ordered RawDigi module input tag.
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.
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.
~SiStripSpyDisplayModule() override
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)
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputCompVirginRawDigiToken_
VR RawDigis to compare (from mainline)
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > inputPostPedestalRawDigiToken_
Token for the post-pedestal subtraction RawDigi module input tag.
std::vector< uint32_t > detIDs_
Vector of detIDs that are of interest (config-specified).