66 virtual void endJob()
override ;
98 m_digiprofiler(iConfig),
99 m_collectionToken(consumes<
T>(iConfig.getParameter<edm::
InputTag>(
"collection"))),
100 m_singleevents(iConfig.getParameter<bool>(
"singleEvents")),
101 m_folded(iConfig.getUntrackedParameter<bool>(
"foldedStrips",
false)),
102 m_want1dHisto(iConfig.getUntrackedParameter<bool>(
"want1dHisto",
true)),
103 m_wantProfile(iConfig.getUntrackedParameter<bool>(
"wantProfile",
true)),
104 m_want2dHisto(iConfig.getUntrackedParameter<bool>(
"want2dHisto",
false))
109 std::vector<edm::ParameterSet> selconfigs = iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"selections");
111 for(std::vector<edm::ParameterSet>::const_iterator selconfig=selconfigs.begin();selconfig!=selconfigs.end();++selconfig) {
120 sprintf(dirname,
"Summary");
125 unsigned int nbins =768;
132 m_hist.push_back(subd.
make<TH1F>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5));
137 m_hprof.push_back(subd.
make<TProfile>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5));
142 m_hist2d.push_back(subd.
make<TH2F>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5,257,-0.5,256.5));
176 m_hist.clear(); m_hprof.clear(); m_hist2d.clear();
179 sprintf(dirname,
"event_%u_%llu",iEvent.
run(),iEvent.
id().
event());
184 unsigned int nbins =768;
185 if(m_folded) nbins=256;
187 for(std::vector<std::string>::const_iterator
label=m_labels.begin();
label!=m_labels.end(); ++
label) {
191 m_hist.push_back(subd.make<TH1F>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5));
196 m_hprof.push_back(subd.make<TProfile>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5));
201 m_hist2d.push_back(subd.make<TH2F>(hname.c_str(),htitle.c_str(),
nbins,-0.5,nbins-0.5,257,-0.5,256.5));
211 m_digiprofiler.fill(digis,m_hist,m_hprof,m_hist2d);
T getParameter(std::string const &) const
EventNumber_t event() const
std::vector< TH1F * > m_hist
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
std::vector< TH2F * > m_hist2d
BigEventsDebugger< edm::DetSetVector< SiStripDigi > > DigiBigEventsDebugger
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
DigiCollectionProfiler< T > m_digiprofiler
std::vector< TProfile * > m_hprof
T * make(const Args &...args) const
make new ROOT object
BigEventsDebugger(const edm::ParameterSet &)
edm::EDGetTokenT< T > m_collectionToken
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
std::vector< std::string > m_labels
volatile std::atomic< bool > shutdown_flag false
BigEventsDebugger< edm::DetSetVector< SiStripRawDigi > > RawDigiBigEventsDebugger
BigEventsDebugger< edmNew::DetSetVector< SiStripCluster > > ClusterBigEventsDebugger
virtual void endJob() override