37 outputFileName_ = pset.
getParameter<
string>(
"OutputFileName");
39 isRunCentrally_= pset.
getParameter<
bool>(
"isRunCentrally");
42 etMin = parameters_.getParameter<
double>(
"etMin");
43 etMax = parameters_.getParameter<
double>(
"etMax");
44 etBin = parameters_.getParameter<
int>(
"etBin");
47 etaMin = parameters_.getParameter<
double>(
"etaMin");
48 etaMax = parameters_.getParameter<
double>(
"etaMax");
49 etaBin = parameters_.getParameter<
int>(
"etaBin");
50 etaBin2 = parameters_.getParameter<
int>(
"etaBin2");
52 phiMin = parameters_.getParameter<
double>(
"phiMin");
53 phiMax = parameters_.getParameter<
double>(
"phiMax");
54 phiBin = parameters_.getParameter<
int>(
"phiBin");
56 rMin = parameters_.getParameter<
double>(
"rMin");
57 rMax = parameters_.getParameter<
double>(
"rMax");
58 rBin = parameters_.getParameter<
int>(
"rBin");
60 zMin = parameters_.getParameter<
double>(
"zMin");
61 zMax = parameters_.getParameter<
double>(
"zMax");
62 zBin = parameters_.getParameter<
int>(
"zBin");
84 if(standAlone_) runPostprocessing();
90 if(!standAlone_) runPostprocessing();
99 std::string simInfoPathName =
"EgammaV/"+ analyzerName_+
"/SimulationInfo/";
100 std::string convPathName =
"EgammaV/"+ analyzerName_+
"/ConversionInfo/";
101 std::string effPathName =
"EgammaV/"+ analyzerName_+
"/Efficiencies/";
102 std::string photonPathName =
"EgammaV/"+ analyzerName_+
"/Photons/";
104 if(batch_)
dbe_->open(inputFileName_);
107 dbe_->setCurrentFolder(simInfoPathName);
109 string histname =
"h_simConvEtaMTotal";
111 histname =
"h_simConvPhiMTotal";
113 histname =
"h_simConvRMTotal";
115 histname =
"h_simConvZMTotal";
117 histname =
"h_simConvEtMTotal";
120 dbe_->setCurrentFolder(effPathName);
122 histname =
"recoEffVsEta";
123 phoRecoEffEta_ =
dbe_->book1D(histname,
"Photon reconstruction efficiency vs simulated #eta",
etaBin,
etaMin,
etaMax);
124 histname =
"recoEffVsPhi";
125 phoRecoEffPhi_ =
dbe_->book1D(histname,
"Photon reconstruction efficiency vs simulated #phi",
phiBin,
phiMin,
phiMax);
126 histname =
"recoEffVsEt";
127 phoRecoEffEt_ =
dbe_->book1D(histname,
"Photon reconstruction efficiency vs simulated Et",
etBin,
etMin,
etMax) ;
129 histname =
"deadChVsEta";
130 phoDeadChEta_ =
dbe_->book1D(histname,
"Fraction of photons with >=1 dead Xtal vs simulated #eta",
etaBin,
etaMin,
etaMax);
131 histname =
"deadChVsPhi";
132 phoDeadChPhi_ =
dbe_->book1D(histname,
"Fraction of photons with >=1 dead Xtal vs simulated #phi",
phiBin,
phiMin,
phiMax);
133 histname =
"deadChVsEt";
134 phoDeadChEt_ =
dbe_->book1D(histname,
"Fraction of photons with >=1 dead Xtal vs simulated Et",
etBin,
etMin,
etMax) ;
136 if ( ! isRunCentrally_ ) {
137 histname =
"convVsEt";
138 convVsEt_[0] =
dbe_->book1D(histname+
"Barrel",
"Fraction of good conversions in R9<0.93 vs Et ",
etBin,
etMin,
etMax) ;
139 convVsEt_[1] =
dbe_->book1D(histname+
"Endcap",
"Fraction of good conversions in R9<0.93 vs Et ",
etBin,
etMin,
etMax) ;
145 histname =
"convEffVsEtaTwoTracks";
148 histname =
"convEffVsPhiTwoTracks";
151 histname =
"convEffVsRTwoTracks";
154 histname =
"convEffVsZTwoTracks";
157 histname =
"convEffVsEtTwoTracks";
160 histname =
"convEffVsEtaTwoTracksAndVtxProbGT0";
162 histname =
"convEffVsEtaTwoTracksAndVtxProbGT0005";
164 histname =
"convEffVsRTwoTracksAndVtxProbGT0";
165 convEffRTwoTracksAndVtxProbGT0_ =
dbe_->book1D(histname,histname,
rBin,
rMin,
rMax);
166 histname =
"convEffVsRTwoTracksAndVtxProbGT0005";
167 convEffRTwoTracksAndVtxProbGT0005_ =
dbe_->book1D(histname,histname,
rBin,
rMin,
rMax);
169 histname =
"convEffVsEtaOneTrack";
171 histname =
"convEffVsROneTrack";
173 histname =
"convEffVsZOneTrack";
175 histname =
"convEffVsEtOneTrack";
177 histname =
"convEffVsPhiOneTrack";
180 histname =
"convEffVsEtaTotal";
182 histname =
"convEffVsRTotal";
184 histname =
"convEffVsZTotal";
186 histname =
"convEffVsEtTotal";
188 histname =
"convEffVsPhiTotal";
191 histname =
"convFakeRateVsEtaTwoTracks";
193 histname =
"convFakeRateVsPhiTwoTracks";
195 histname =
"convFakeRateVsRTwoTracks";
197 histname =
"convFakeRateVsZTwoTracks";
199 histname =
"convFakeRateVsEtTwoTracks";
202 histname =
"bkgEffVsEta";
203 bkgRecoEffEta_ =
dbe_->book1D(histname,
"Bkg reconstruction efficiency vs simulated #eta",
etaBin,
etaMin,
etaMax);
204 histname =
"bkgEffVsPhi";
205 bkgRecoEffPhi_ =
dbe_->book1D(histname,
"Bkg reconstruction efficiency vs simulated #phi",
phiBin,
phiMin,
phiMax);
206 histname =
"bkgEffVsEt";
207 bkgRecoEffEt_ =
dbe_->book1D(histname,
"Bkg reconstruction efficiency vs simulated Et",
etBin,
etMin,
etMax) ;
209 histname =
"deadChVsEtaBkg";
210 bkgDeadChEta_ =
dbe_->book1D(histname,
"Fraction of bkg with >=1 dead Xtal vs simulated #eta",
etaBin,
etaMin,
etaMax);
211 histname =
"deadChVsPhiBkg";
212 bkgDeadChPhi_ =
dbe_->book1D(histname,
"Fraction of bkg with >=1 dead Xtal vs simulated #phi",
phiBin,
phiMin,
phiMax);
213 histname =
"deadChVsEtBkg";
214 bkgDeadChEt_ =
dbe_->book1D(histname,
"Fraction of bkg with >=1 dead Xtal vs simulated Et",
etBin,
etMin,
etMax) ;
217 if((
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEta")) !=
nullptr and
218 (
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEta") !=
nullptr) ) {
219 h_simConvEtaMTotal_->getTH1F()->Add(
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEta")->getTH1F(),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEta")->getTH1F());
221 if((
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksPhi") !=
nullptr) and
222 (
dbe_->get(convPathName+
"h_RecoConvTwoMTracksPhi") !=
nullptr) ) {
223 h_simConvPhiMTotal_->getTH1F()->Add(
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksPhi")->getTH1F(),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksPhi")->getTH1F());
225 if((
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksR")->getTH1F() !=
nullptr) and
226 (
dbe_->get(convPathName+
"h_RecoConvTwoMTracksR") !=
nullptr) ) {
227 h_simConvRMTotal_ ->getTH1F()->Add(
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksR")->getTH1F(),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksR")->getTH1F());
229 if((
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksZ") !=
nullptr) and
230 (
dbe_->get(convPathName+
"h_RecoConvTwoMTracksZ") !=
nullptr)) {
231 h_simConvZMTotal_ ->getTH1F()->Add(
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksZ")->getTH1F(),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksZ")->getTH1F());
233 if((
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEt") !=
nullptr) and
234 (
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEt") !=
nullptr)) {
235 h_simConvEtMTotal_ ->getTH1F()->Add(
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEt")->getTH1F(),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEt")->getTH1F());
239 if ( ! isRunCentrally_ ) {
240 dividePlots(
dbe_->get(effPathName+
"convVsEtBarrel"),
dbe_->get(photonPathName+
"EtR9Less093ConvBarrel"),
dbe_->get(photonPathName+
"EtR9Less093Barrel"),
"effic");
241 dividePlots(
dbe_->get(effPathName+
"convVsEtEndcap"),
dbe_->get(photonPathName+
"EtR9Less093ConvEndcap"),
dbe_->get(photonPathName+
"EtR9Less093Endcap"),
"effic");
244 dividePlots(
dbe_->get(effPathName+
"recoEffVsEta"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoEta"),
dbe_->get(simInfoPathName+
"h_SimPhoEta"),
"effic");
245 dividePlots(
dbe_->get(effPathName+
"recoEffVsPhi"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoPhi"),
dbe_->get(simInfoPathName+
"h_SimPhoPhi"),
"effic");
246 dividePlots(
dbe_->get(effPathName+
"recoEffVsEt"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoEt"),
dbe_->get(simInfoPathName+
"h_SimPhoEt"),
"effic");
248 dividePlots(
dbe_->get(effPathName+
"deadChVsEta"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoBadChEta"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoEta"),
"effic");
249 dividePlots(
dbe_->get(effPathName+
"deadChVsPhi"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoBadChPhi"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoPhi"),
"effic");
250 dividePlots(
dbe_->get(effPathName+
"deadChVsEt"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoBadChEt"),
dbe_->get(simInfoPathName+
"h_MatchedSimPhoEt"),
"effic");
253 dividePlots(
dbe_->get(effPathName+
"convEffVsEtaTwoTracks"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEta"),
dbe_->get(simInfoPathName+
"h_VisSimConvEta"),
"effic");
254 dividePlots(
dbe_->get(effPathName+
"convEffVsPhiTwoTracks"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksPhi"),
dbe_->get(simInfoPathName+
"h_VisSimConvPhi"),
"effic");
255 dividePlots(
dbe_->get(effPathName+
"convEffVsRTwoTracks"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksR"),
dbe_->get(simInfoPathName+
"h_VisSimConvR"),
"effic");
256 dividePlots(
dbe_->get(effPathName+
"convEffVsZTwoTracks"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksZ"),
dbe_->get(simInfoPathName+
"h_VisSimConvZ"),
"effic");
257 dividePlots(
dbe_->get(effPathName+
"convEffVsEtTwoTracks"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEt"),
dbe_->get(simInfoPathName+
"h_VisSimConvEt"),
"effic");
258 dividePlots(
dbe_->get(effPathName+
"convEffVsEtaTwoTracksAndVtxProbGT0"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEtaAndVtxPGT0"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEta"),
"effic");
259 dividePlots(
dbe_->get(effPathName+
"convEffVsEtaTwoTracksAndVtxProbGT0005"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEtaAndVtxPGT0005"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksEta"),
"effic");
260 dividePlots(
dbe_->get(effPathName+
"convEffVsRTwoTracksAndVtxProbGT0"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksRAndVtxPGT0"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksR"),
"effic");
261 dividePlots(
dbe_->get(effPathName+
"convEffVsRTwoTracksAndVtxProbGT0005"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksRAndVtxPGT0005"),
dbe_->get(simInfoPathName+
"h_SimConvTwoMTracksR"),
"effic");
263 dividePlots(
dbe_->get(effPathName+
"convEffVsEtaOneTrack"),
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEta"),
dbe_->get(simInfoPathName+
"h_VisSimConvEta"),
"effic");
264 dividePlots(
dbe_->get(effPathName+
"convEffVsPhiOneTrack"),
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksPhi"),
dbe_->get(simInfoPathName+
"h_VisSimConvPhi"),
"effic");
265 dividePlots(
dbe_->get(effPathName+
"convEffVsROneTrack"),
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksR"),
dbe_->get(simInfoPathName+
"h_VisSimConvR"),
"effic");
266 dividePlots(
dbe_->get(effPathName+
"convEffVsZOneTrack"),
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksZ"),
dbe_->get(simInfoPathName+
"h_VisSimConvZ"),
"effic");
267 dividePlots(
dbe_->get(effPathName+
"convEffVsEtOneTrack"),
dbe_->get(simInfoPathName+
"h_SimConvOneMTracksEt"),
dbe_->get(simInfoPathName+
"h_VisSimConvEt"),
"effic");
269 dividePlots(
dbe_->get(effPathName+
"convEffVsEtaTotal"),
dbe_->get(simInfoPathName+
"h_simConvEtaMTotal"),
dbe_->get(simInfoPathName+
"h_VisSimConvEta"),
"effic");
270 dividePlots(
dbe_->get(effPathName+
"convEffVsPhiTotal"),
dbe_->get(simInfoPathName+
"h_simConvPhiMTotal"),
dbe_->get(simInfoPathName+
"h_VisSimConvPhi"),
"effic");
271 dividePlots(
dbe_->get(effPathName+
"convEffVsRTotal"),
dbe_->get(simInfoPathName+
"h_simConvRMTotal"),
dbe_->get(simInfoPathName+
"h_VisSimConvR"),
"effic");
272 dividePlots(
dbe_->get(effPathName+
"convEffVsZTotal"),
dbe_->get(simInfoPathName+
"h_simConvZMTotal"),
dbe_->get(simInfoPathName+
"h_VisSimConvZ"),
"effic");
273 dividePlots(
dbe_->get(effPathName+
"convEffVsEtTotal"),
dbe_->get(simInfoPathName+
"h_simConvEtMTotal"),
dbe_->get(simInfoPathName+
"h_VisSimConvEt"),
"effic");
275 dividePlots(
dbe_->get(effPathName+
"convFakeRateVsEtaTwoTracks"),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEta"),
dbe_->get(convPathName+
"h_RecoConvTwoTracksEta"),
"fakerate");
276 dividePlots(
dbe_->get(effPathName+
"convFakeRateVsPhiTwoTracks"),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksPhi"),
dbe_->get(convPathName+
"h_RecoConvTwoTracksPhi"),
"fakerate");
277 dividePlots(
dbe_->get(effPathName+
"convFakeRateVsRTwoTracks"),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksR"),
dbe_->get(convPathName+
"h_RecoConvTwoTracksR"),
"fakerate");
278 dividePlots(
dbe_->get(effPathName+
"convFakeRateVsZTwoTracks"),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksZ"),
dbe_->get(convPathName+
"h_RecoConvTwoTracksZ"),
"fakerate");
279 dividePlots(
dbe_->get(effPathName+
"convFakeRateVsEtTwoTracks"),
dbe_->get(convPathName+
"h_RecoConvTwoMTracksEt"),
dbe_->get(convPathName+
"h_RecoConvTwoTracksEt"),
"fakerate");
282 dividePlots(
dbe_->get(effPathName+
"bkgEffVsEta"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetEta"),
dbe_->get(simInfoPathName+
"h_SimJetEta"),
"effic");
283 dividePlots(
dbe_->get(effPathName+
"bkgEffVsPhi"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetPhi"),
dbe_->get(simInfoPathName+
"h_SimJetPhi"),
"effic");
284 dividePlots(
dbe_->get(effPathName+
"bkgEffVsEt"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetEt"),
dbe_->get(simInfoPathName+
"h_SimJetEt"),
"effic");
286 dividePlots(
dbe_->get(effPathName+
"deadChVsEtaBkg"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetBadChEta"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetEta"),
"effic");
287 dividePlots(
dbe_->get(effPathName+
"deadChVsPhiBkg"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetBadChPhi"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetPhi"),
"effic");
288 dividePlots(
dbe_->get(effPathName+
"deadChVsEtBkg"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetBadChEt"),
dbe_->get(simInfoPathName+
"h_MatchedSimJetEt"),
"effic");
292 if(standAlone_)
dbe_->save(outputFileName_);
293 else if(batch_)
dbe_->save(inputFileName_);
310 if(
nullptr == dividend
or nullptr == denominator
or nullptr == numerator) {
313 for (
int j=1; j<=numerator->
getNbinsX(); j++){
319 else if (type==
"fakerate")
340 if(
nullptr == dividend
or nullptr == numerator) {
343 for (
int j=1; j<=numerator->
getNbinsX(); j++){
346 err =
sqrt( value*(1-value) / denominator);
T getParameter(std::string const &) const
void setBinContent(int binx, double content)
set content of bin (1-D)
def setup(process, global_tag, zero_tesla=False)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
PhotonPostprocessing(const edm::ParameterSet &pset)
virtual ~PhotonPostprocessing()
virtual void runPostprocessing()
double getBinContent(int binx) const
get content of bin (1-D)
void dividePlots(MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator, std::string type)
int getNbinsX(void) const
get # of bins in X-axis
virtual void endRun(const edm::Run &, const edm::EventSetup &)
void setEfficiencyFlag(void)
virtual void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
virtual void analyze(const edm::Event &, const edm::EventSetup &)