74 verbosity_(iConfig.getUntrackedParameter<
int>(
"verbosity",0)),
75 recHitHBHE_(iConfig.getUntrackedParameter<
edm::InputTag>(
"recHitHBHE",
edm::InputTag(
"hbhereco"))),
76 preRecHitHBHE_(iConfig.getUntrackedParameter<
edm::InputTag>(
"preRecHitHBHE",
edm::InputTag(
"hbheprereco"))),
97 descriptions.
add(
"hcalCollapseAnalyzer",desc);
103 << iEvent.
id().
event() <<
" starts ==============";
117 << hbheprereco->
size();
124 <<
" and hbheprereco: " << prerecohbhe->
size();
125 double sfrac = (prerecohbhe->
size() == 0) ? 1 :
126 ((
double)(recohbhe->
size()))/((double)(prerecohbhe->
size()));
129 for (
const auto &
hit : (*recohbhe)) {
134 std::vector<HcalDetId> ids;
139 for (
unsigned int k=0;
k<ids.size(); ++
k)
143 double energy =
hit.energy();
146 for (
const auto phit : (*prerecohbhe)) {
147 if (
std::find(ids.begin(),ids.end(),phit.id()) != ids.end()) {
148 etot += phit.energy();
149 double frac = (energy > 0) ? phit.energy()/energy : 1.0;
153 <<
" for " <<phit.id();
157 double frac = (energy > 0) ? etot/energy : 1.0;
172 h_merge = ibooker.
book1D(
"h_merge",
"Number of hits merged",10,0.0,10.0);
173 h_size = ibooker.
book1D(
"h_size",
"Size of the RecHit collection",100,500.0,1500.0);
174 h_depth = ibooker.
book1D(
"h_depth",
"Depth of the Id's used",10,0.0,10.0);
175 h_sfrac = ibooker.
book1D(
"h_sfrac",
"Ratio of sizes of preRecHit and RecHit collections",150,0.0,1.5);
176 h_frac = ibooker.
book1D(
"h_frac",
"Fraction of energy before collapse",150,0.0,1.5);
177 h_balance= ibooker.
book1D(
"h_balance",
"Balance of energy between pre- and post-collapse",100,0.5,1.5);
~HcalCollapseAnalyzer() override
EventNumber_t event() const
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
const edm::InputTag preRecHitHBHE_
MonitorElement * book1D(Args &&...args)
void analyze(edm::Event const &, edm::EventSetup const &) override
void unmergeDepthDetId(const HcalDetId &id, std::vector< HcalDetId > &ids) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
HcalCollapseAnalyzer(const edm::ParameterSet &)
void setCurrentFolder(const std::string &fullpath)
T const * product() const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< HBHERecHitCollection > tok_prehbhe_
const edm::InputTag recHitHBHE_
const std::string topFolderName_
MonitorElement * h_balance
T const * product() const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_