CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
PhotonPostprocessing Class Reference

#include <PhotonPostprocessing.h>

Inheritance diagram for PhotonPostprocessing:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
virtual void endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 
 PhotonPostprocessing (const edm::ParameterSet &pset)
 
virtual ~PhotonPostprocessing ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void dividePlots (MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator, std::string type)
 
void dividePlots (MonitorElement *dividend, MonitorElement *numerator, double denominator)
 
virtual void runPostprocessing ()
 

Private Attributes

std::string analyzerName_
 
bool batch_
 
MonitorElementbkgDeadChEt_
 
MonitorElementbkgDeadChEta_
 
MonitorElementbkgDeadChPhi_
 
MonitorElementbkgRecoEffEt_
 
MonitorElementbkgRecoEffEta_
 
MonitorElementbkgRecoEffPhi_
 
MonitorElementconvEffEtaOneTrack_
 
MonitorElementconvEffEtaTotal_
 
MonitorElementconvEffEtaTwoTracks_
 
MonitorElementconvEffEtaTwoTracksAndVtxProbGT0005_
 
MonitorElementconvEffEtaTwoTracksAndVtxProbGT0_
 
MonitorElementconvEffEtOneTrack_
 
MonitorElementconvEffEtTotal_
 
MonitorElementconvEffEtTwoTracks_
 
MonitorElementconvEffPhiOneTrack_
 
MonitorElementconvEffPhiTotal_
 
MonitorElementconvEffPhiTwoTracks_
 
MonitorElementconvEffROneTrack_
 
MonitorElementconvEffRTotal_
 
MonitorElementconvEffRTwoTracks_
 
MonitorElementconvEffRTwoTracksAndVtxProbGT0005_
 
MonitorElementconvEffRTwoTracksAndVtxProbGT0_
 
MonitorElementconvEffZOneTrack_
 
MonitorElementconvEffZTotal_
 
MonitorElementconvEffZTwoTracks_
 
MonitorElementconvFakeRateEtaTwoTracks_
 
MonitorElementconvFakeRateEtTwoTracks_
 
MonitorElementconvFakeRatePhiTwoTracks_
 
MonitorElementconvFakeRateRTwoTracks_
 
MonitorElementconvFakeRateZTwoTracks_
 
MonitorElementconvVsEt_ [2]
 
std::stringstream currentFolder_
 
DQMStoredbe_
 
int etaBin
 
int etaBin2
 
double etaMax
 
double etaMin
 
int etBin
 
double etMax
 
double etMin
 
bool fastSim_
 
MonitorElementh_simConvEtaMTotal_
 
MonitorElementh_simConvEtMTotal_
 
MonitorElementh_simConvPhiMTotal_
 
MonitorElementh_simConvRMTotal_
 
MonitorElementh_simConvZMTotal_
 
std::string inputFileName_
 
bool isRunCentrally_
 
std::string outputFileName_
 
edm::ParameterSet parameters_
 
int phiBin
 
double phiMax
 
double phiMin
 
MonitorElementphoDeadChEt_
 
MonitorElementphoDeadChEta_
 
MonitorElementphoDeadChPhi_
 
MonitorElementphoRecoEffEt_
 
MonitorElementphoRecoEffEta_
 
MonitorElementphoRecoEffPhi_
 
int rBin
 
double rMax
 
double rMin
 
bool standAlone_
 
int verbosity_
 
int zBin
 
double zMax
 
double zMin
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

$Id: PhotonPostprocessing author: Nancy Marinelli, U. of Notre Dame, US

$Id: PhotonPostprocessing authors: Nancy Marinelli, U. of Notre Dame, US

Definition at line 52 of file PhotonPostprocessing.h.

Constructor & Destructor Documentation

PhotonPostprocessing::PhotonPostprocessing ( const edm::ParameterSet pset)
explicit

Definition at line 25 of file PhotonPostprocessing.cc.

References dbe_, edm::ParameterSet::getParameter(), cppFunctionSkipper::operator, DQMStore::setVerbose(), and AlCaHLTBitMon_QueryRunRegistry::string.

26 {
27 
28  dbe_ = 0;
30  dbe_->setVerbose(0);
31  parameters_ = pset;
32 
33 
34  analyzerName_ = pset.getParameter<std::string>("analyzerName");
35  standAlone_ = pset.getParameter<bool>("standAlone");
36  batch_ = pset.getParameter<bool>("batch");
37  outputFileName_ = pset.getParameter<string>("OutputFileName");
38  inputFileName_ = pset.getParameter<std::string>("InputFileName");
39  isRunCentrally_= pset.getParameter<bool>("isRunCentrally");
40  fastSim_ = pset.getParameter<bool>("fastSim");
41 
42  etMin = parameters_.getParameter<double>("etMin");
43  etMax = parameters_.getParameter<double>("etMax");
44  etBin = parameters_.getParameter<int>("etBin");
45 
46 
47  etaMin = parameters_.getParameter<double>("etaMin");
48  etaMax = parameters_.getParameter<double>("etaMax");
49  etaBin = parameters_.getParameter<int>("etaBin");
50  etaBin2 = parameters_.getParameter<int>("etaBin2");
51 
52  phiMin = parameters_.getParameter<double>("phiMin");
53  phiMax = parameters_.getParameter<double>("phiMax");
54  phiBin = parameters_.getParameter<int>("phiBin");
55 
56  rMin = parameters_.getParameter<double>("rMin");
57  rMax = parameters_.getParameter<double>("rMax");
58  rBin = parameters_.getParameter<int>("rBin");
59 
60  zMin = parameters_.getParameter<double>("zMin");
61  zMax = parameters_.getParameter<double>("zMax");
62  zBin = parameters_.getParameter<int>("zBin");
63 
64 
65 
66 }
T getParameter(std::string const &) const
edm::ParameterSet parameters_
void setVerbose(unsigned level)
Definition: DQMStore.cc:631
PhotonPostprocessing::~PhotonPostprocessing ( )
virtual

Definition at line 70 of file PhotonPostprocessing.cc.

71 {}

Member Function Documentation

void PhotonPostprocessing::analyze ( const edm::Event e,
const edm::EventSetup esup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 78 of file PhotonPostprocessing.cc.

79 {}
void PhotonPostprocessing::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 73 of file PhotonPostprocessing.cc.

74 {
75 
76 }
void PhotonPostprocessing::dividePlots ( MonitorElement dividend,
MonitorElement numerator,
MonitorElement denominator,
std::string  type 
)
private

Definition at line 294 of file PhotonPostprocessing.cc.

References MonitorElement::getBinContent(), MonitorElement::getNbinsX(), j, MonitorElement::setBinContent(), MonitorElement::setBinError(), MonitorElement::setEfficiencyFlag(), mathSSE::sqrt(), and relativeConstraints::value.

294  {
295  double value,err;
296  for (int j=1; j<=numerator->getNbinsX(); j++){
297  dividend->setEfficiencyFlag();
298 
299  if (denominator->getBinContent(j)!=0){
300  if (type=="effic")
301  value = ((double) numerator->getBinContent(j))/((double) denominator->getBinContent(j));
302  else if (type=="fakerate")
303  value = 1-((double) numerator->getBinContent(j))/((double) denominator->getBinContent(j));
304  else return;
305  err = sqrt( value*(1-value) / ((double) denominator->getBinContent(j)) );
306  dividend->setBinContent(j, value);
307  if ( err !=0 ) dividend->setBinError(j,err);
308  }
309  else {
310  dividend->setBinContent(j, 0);
311  dividend->setBinError(j,0);
312  }
313 
314  }
315 
316 
317 }
type
Definition: HCALResponse.h:21
void setBinContent(int binx, double content)
set content of bin (1-D)
T sqrt(T t)
Definition: SSEVec.h:48
int j
Definition: DBlmapReader.cc:9
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
double getBinContent(int binx) const
get content of bin (1-D)
int getNbinsX(void) const
get # of bins in X-axis
void setEfficiencyFlag(void)
void PhotonPostprocessing::dividePlots ( MonitorElement dividend,
MonitorElement numerator,
double  denominator 
)
private

Definition at line 320 of file PhotonPostprocessing.cc.

References MonitorElement::getBinContent(), MonitorElement::getNbinsX(), j, MonitorElement::setBinContent(), MonitorElement::setBinError(), mathSSE::sqrt(), and relativeConstraints::value.

320  {
321  double value,err;
322 
323  for (int j=1; j<=numerator->getNbinsX(); j++){
324  if (denominator!=0){
325  value = ((double) numerator->getBinContent(j))/denominator;
326  err = sqrt( value*(1-value) / denominator);
327  dividend->setBinContent(j, value);
328  dividend->setBinError(j,err);
329  }
330  else {
331  dividend->setBinContent(j, 0);
332  }
333  }
334 
335 }
void setBinContent(int binx, double content)
set content of bin (1-D)
list denominator
Definition: cuy.py:484
T sqrt(T t)
Definition: SSEVec.h:48
int j
Definition: DBlmapReader.cc:9
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
double getBinContent(int binx) const
get content of bin (1-D)
int getNbinsX(void) const
get # of bins in X-axis
void PhotonPostprocessing::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 82 of file PhotonPostprocessing.cc.

82  {
83 
85 
86 }
virtual void runPostprocessing()
void PhotonPostprocessing::endLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup setup 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 286 of file PhotonPostprocessing.cc.

287 {
288 
289 
290 }
void PhotonPostprocessing::endRun ( const edm::Run run,
const edm::EventSetup setup 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 88 of file PhotonPostprocessing.cc.

88  {
89 
91 
92 }
virtual void runPostprocessing()
void PhotonPostprocessing::runPostprocessing ( )
privatevirtual

Definition at line 95 of file PhotonPostprocessing.cc.

References DQMStore::book1D(), dbe_, DQMStore::get(), MonitorElement::getTH1F(), DQMStore::open(), DQMStore::save(), DQMStore::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

96 {
97 
98 
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/";
103 
105 
106 
107  dbe_->setCurrentFolder(simInfoPathName);
108  // Numerators for Total efficiency
109  string histname = "h_simConvEtaMTotal";
110  h_simConvEtaMTotal_ = dbe_->book1D(histname,histname,etaBin2,etaMin, etaMax);
111  histname = "h_simConvPhiMTotal";
112  h_simConvPhiMTotal_ = dbe_->book1D(histname,histname,phiBin,phiMin,phiMax);
113  histname = "h_simConvRMTotal";
114  h_simConvRMTotal_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
115  histname = "h_simConvZMTotal";
116  h_simConvZMTotal_ = dbe_->book1D(histname,histname,zBin,zMin, zMax);
117  histname = "h_simConvEtMTotal";
118  h_simConvEtMTotal_ = dbe_->book1D(histname,histname,etBin,etMin, etMax);
119 
120  dbe_->setCurrentFolder(effPathName);
121  // Photon reconstruction efficiencies
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) ;
128  // Fraction of photons with at least one dead channel
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) ;
135 
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) ;
140  }
141 
142 
143 
144  // Conversion reconstruction efficiency
145  histname = "convEffVsEtaTwoTracks";
146  convEffEtaTwoTracks_ = dbe_->book1D(histname,histname,etaBin2,etaMin, etaMax);
147 
148  histname = "convEffVsPhiTwoTracks";
149  convEffPhiTwoTracks_ = dbe_->book1D(histname,histname,phiBin,phiMin,phiMax);
150 
151  histname = "convEffVsRTwoTracks";
152  convEffRTwoTracks_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
153 
154  histname = "convEffVsZTwoTracks";
155  convEffZTwoTracks_ = dbe_->book1D(histname,histname,zBin,zMin,zMax);
156 
157  histname = "convEffVsEtTwoTracks";
158  convEffEtTwoTracks_ = dbe_->book1D(histname,histname,etBin,etMin, etMax);
159  //
160  histname = "convEffVsEtaTwoTracksAndVtxProbGT0";
162  histname = "convEffVsEtaTwoTracksAndVtxProbGT0005";
164  histname = "convEffVsRTwoTracksAndVtxProbGT0";
166  histname = "convEffVsRTwoTracksAndVtxProbGT0005";
168  //
169  histname = "convEffVsEtaOneTrack";
170  convEffEtaOneTrack_ = dbe_->book1D(histname,histname,etaBin2,etaMin, etaMax);
171  histname = "convEffVsROneTrack";
172  convEffROneTrack_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
173  histname = "convEffVsZOneTrack";
174  convEffZOneTrack_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
175  histname = "convEffVsEtOneTrack";
176  convEffEtOneTrack_ = dbe_->book1D(histname,histname,etBin,etMin, etMax);
177  histname = "convEffVsPhiOneTrack";
178  convEffPhiOneTrack_ = dbe_->book1D(histname,histname,phiBin,phiMin,phiMax);
179  //
180  histname = "convEffVsEtaTotal";
181  convEffEtaTotal_ = dbe_->book1D(histname,histname,etaBin2,etaMin, etaMax);
182  histname = "convEffVsRTotal";
183  convEffRTotal_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
184  histname = "convEffVsZTotal";
185  convEffZTotal_ = dbe_->book1D(histname,histname,zBin,zMin, zMax);
186  histname = "convEffVsEtTotal";
187  convEffEtTotal_ = dbe_->book1D(histname,histname,etBin,etMin, etMax);
188  histname = "convEffVsPhiTotal";
189  convEffPhiTotal_ = dbe_->book1D(histname,histname,phiBin,phiMin,phiMax);
190  // Fake rate
191  histname = "convFakeRateVsEtaTwoTracks";
192  convFakeRateEtaTwoTracks_ = dbe_->book1D(histname,histname,etaBin2,etaMin, etaMax);
193  histname = "convFakeRateVsPhiTwoTracks";
195  histname = "convFakeRateVsRTwoTracks";
196  convFakeRateRTwoTracks_ = dbe_->book1D(histname,histname,rBin,rMin, rMax);
197  histname = "convFakeRateVsZTwoTracks";
198  convFakeRateZTwoTracks_ = dbe_->book1D(histname,histname,zBin,zMin,zMax);
199  histname = "convFakeRateVsEtTwoTracks";
200  convFakeRateEtTwoTracks_ = dbe_->book1D(histname,histname,etBin,etMin, etMax);
201 
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) ;
208  // Fraction of photons with at least one dead channel
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) ;
215 
216  //
217  h_simConvEtaMTotal_->getTH1F()->Add(dbe_->get(simInfoPathName+"h_SimConvOneMTracksEta")->getTH1F(),dbe_->get(convPathName+"h_RecoConvTwoMTracksEta")->getTH1F());
218  h_simConvPhiMTotal_->getTH1F()->Add(dbe_->get(simInfoPathName+"h_SimConvOneMTracksPhi")->getTH1F(),dbe_->get(convPathName+"h_RecoConvTwoMTracksPhi")->getTH1F());
219  h_simConvRMTotal_ ->getTH1F()->Add(dbe_->get(simInfoPathName+"h_SimConvOneMTracksR")->getTH1F(),dbe_->get(convPathName+"h_RecoConvTwoMTracksR")->getTH1F());
220  h_simConvZMTotal_ ->getTH1F()->Add(dbe_->get(simInfoPathName+"h_SimConvOneMTracksZ")->getTH1F(),dbe_->get(convPathName+"h_RecoConvTwoMTracksZ")->getTH1F());
221  h_simConvEtMTotal_ ->getTH1F()->Add(dbe_->get(simInfoPathName+"h_SimConvOneMTracksEt")->getTH1F(),dbe_->get(convPathName+"h_RecoConvTwoMTracksEt")->getTH1F());
222 
223 
224  // efficiencies
225  if ( ! isRunCentrally_ ) {
226  dividePlots(dbe_->get(effPathName+"convVsEtBarrel"),dbe_->get(photonPathName+"EtR9Less093ConvBarrel"),dbe_->get(photonPathName+"EtR9Less093Barrel"), "effic");
227  dividePlots(dbe_->get(effPathName+"convVsEtEndcap"),dbe_->get(photonPathName+"EtR9Less093ConvEndcap"),dbe_->get(photonPathName+"EtR9Less093Endcap"), "effic");
228  }
229 
230  dividePlots(dbe_->get(effPathName+"recoEffVsEta"),dbe_->get(simInfoPathName+"h_MatchedSimPhoEta"),dbe_->get(simInfoPathName+"h_SimPhoEta"), "effic");
231  dividePlots(dbe_->get(effPathName+"recoEffVsPhi"),dbe_->get(simInfoPathName+"h_MatchedSimPhoPhi"),dbe_->get(simInfoPathName+"h_SimPhoPhi"),"effic");
232  dividePlots(dbe_->get(effPathName+"recoEffVsEt"),dbe_->get(simInfoPathName+"h_MatchedSimPhoEt"),dbe_->get(simInfoPathName+"h_SimPhoEt"),"effic");
233  // fraction of photons with at least one dead channel
234  dividePlots(dbe_->get(effPathName+"deadChVsEta"),dbe_->get(simInfoPathName+"h_MatchedSimPhoBadChEta"),dbe_->get(simInfoPathName+"h_MatchedSimPhoEta"), "effic");
235  dividePlots(dbe_->get(effPathName+"deadChVsPhi"),dbe_->get(simInfoPathName+"h_MatchedSimPhoBadChPhi"),dbe_->get(simInfoPathName+"h_MatchedSimPhoPhi"),"effic");
236  dividePlots(dbe_->get(effPathName+"deadChVsEt"), dbe_->get(simInfoPathName+"h_MatchedSimPhoBadChEt"),dbe_->get(simInfoPathName+"h_MatchedSimPhoEt"),"effic");
237  //
238  if ( ! fastSim_ ) {
239  dividePlots(dbe_->get(effPathName+"convEffVsEtaTwoTracks"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEta"),dbe_->get(simInfoPathName+"h_VisSimConvEta"),"effic");
240  dividePlots(dbe_->get(effPathName+"convEffVsPhiTwoTracks"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksPhi"),dbe_->get(simInfoPathName+"h_VisSimConvPhi"),"effic");
241  dividePlots(dbe_->get(effPathName+"convEffVsRTwoTracks"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksR"),dbe_->get(simInfoPathName+"h_VisSimConvR"),"effic");
242  dividePlots(dbe_->get(effPathName+"convEffVsZTwoTracks"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksZ"),dbe_->get(simInfoPathName+"h_VisSimConvZ"),"effic");
243  dividePlots(dbe_->get(effPathName+"convEffVsEtTwoTracks"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEt"),dbe_->get(simInfoPathName+"h_VisSimConvEt"),"effic");
244  dividePlots(dbe_->get(effPathName+"convEffVsEtaTwoTracksAndVtxProbGT0"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEtaAndVtxPGT0"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEta"),"effic");
245  dividePlots(dbe_->get(effPathName+"convEffVsEtaTwoTracksAndVtxProbGT0005"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEtaAndVtxPGT0005"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksEta"),"effic");
246  dividePlots(dbe_->get(effPathName+"convEffVsRTwoTracksAndVtxProbGT0"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksRAndVtxPGT0"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksR"),"effic");
247  dividePlots(dbe_->get(effPathName+"convEffVsRTwoTracksAndVtxProbGT0005"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksRAndVtxPGT0005"),dbe_->get(simInfoPathName+"h_SimConvTwoMTracksR"),"effic");
248  //
249  dividePlots(dbe_->get(effPathName+"convEffVsEtaOneTrack"),dbe_->get(simInfoPathName+"h_SimConvOneMTracksEta"),dbe_->get(simInfoPathName+"h_VisSimConvEta"),"effic");
250  dividePlots(dbe_->get(effPathName+"convEffVsPhiOneTrack"),dbe_->get(simInfoPathName+"h_SimConvOneMTracksPhi"),dbe_->get(simInfoPathName+"h_VisSimConvPhi"),"effic");
251  dividePlots(dbe_->get(effPathName+"convEffVsROneTrack"),dbe_->get(simInfoPathName+"h_SimConvOneMTracksR"),dbe_->get(simInfoPathName+"h_VisSimConvR"),"effic");
252  dividePlots(dbe_->get(effPathName+"convEffVsZOneTrack"),dbe_->get(simInfoPathName+"h_SimConvOneMTracksZ"),dbe_->get(simInfoPathName+"h_VisSimConvZ"),"effic");
253  dividePlots(dbe_->get(effPathName+"convEffVsEtOneTrack"),dbe_->get(simInfoPathName+"h_SimConvOneMTracksEt"),dbe_->get(simInfoPathName+"h_VisSimConvEt"),"effic");
254  //
255  dividePlots(dbe_->get(effPathName+"convEffVsEtaTotal"),dbe_->get(simInfoPathName+"h_simConvEtaMTotal"),dbe_->get(simInfoPathName+"h_VisSimConvEta"),"effic");
256  dividePlots(dbe_->get(effPathName+"convEffVsPhiTotal"),dbe_->get(simInfoPathName+"h_simConvPhiMTotal"),dbe_->get(simInfoPathName+"h_VisSimConvPhi"),"effic");
257  dividePlots(dbe_->get(effPathName+"convEffVsRTotal"),dbe_->get(simInfoPathName+"h_simConvRMTotal"),dbe_->get(simInfoPathName+"h_VisSimConvR"),"effic");
258  dividePlots(dbe_->get(effPathName+"convEffVsZTotal"),dbe_->get(simInfoPathName+"h_simConvZMTotal"),dbe_->get(simInfoPathName+"h_VisSimConvZ"),"effic");
259  dividePlots(dbe_->get(effPathName+"convEffVsEtTotal"),dbe_->get(simInfoPathName+"h_simConvEtMTotal"),dbe_->get(simInfoPathName+"h_VisSimConvEt"),"effic");
260  // fake rate
261  dividePlots(dbe_->get(effPathName+"convFakeRateVsEtaTwoTracks"),dbe_->get(convPathName+"h_RecoConvTwoMTracksEta"),dbe_->get(convPathName+"h_RecoConvTwoTracksEta"),"fakerate");
262  dividePlots(dbe_->get(effPathName+"convFakeRateVsPhiTwoTracks"),dbe_->get(convPathName+"h_RecoConvTwoMTracksPhi"),dbe_->get(convPathName+"h_RecoConvTwoTracksPhi"),"fakerate");
263  dividePlots(dbe_->get(effPathName+"convFakeRateVsRTwoTracks"),dbe_->get(convPathName+"h_RecoConvTwoMTracksR"),dbe_->get(convPathName+"h_RecoConvTwoTracksR"),"fakerate");
264  dividePlots(dbe_->get(effPathName+"convFakeRateVsZTwoTracks"),dbe_->get(convPathName+"h_RecoConvTwoMTracksZ"),dbe_->get(convPathName+"h_RecoConvTwoTracksZ"),"fakerate");
265  dividePlots(dbe_->get(effPathName+"convFakeRateVsEtTwoTracks"),dbe_->get(convPathName+"h_RecoConvTwoMTracksEt"),dbe_->get(convPathName+"h_RecoConvTwoTracksEt"),"fakerate");
266  }
267  // Background efficiency
268  dividePlots(dbe_->get(effPathName+"bkgEffVsEta"),dbe_->get(simInfoPathName+"h_MatchedSimJetEta"),dbe_->get(simInfoPathName+"h_SimJetEta"), "effic");
269  dividePlots(dbe_->get(effPathName+"bkgEffVsPhi"),dbe_->get(simInfoPathName+"h_MatchedSimJetPhi"),dbe_->get(simInfoPathName+"h_SimJetPhi"),"effic");
270  dividePlots(dbe_->get(effPathName+"bkgEffVsEt"),dbe_->get(simInfoPathName+"h_MatchedSimJetEt"),dbe_->get(simInfoPathName+"h_SimJetEt"),"effic");
271  // fraction of photons with at least one dead channel
272  dividePlots(dbe_->get(effPathName+"deadChVsEtaBkg"),dbe_->get(simInfoPathName+"h_MatchedSimJetBadChEta"),dbe_->get(simInfoPathName+"h_MatchedSimJetEta"), "effic");
273  dividePlots(dbe_->get(effPathName+"deadChVsPhiBkg"),dbe_->get(simInfoPathName+"h_MatchedSimJetBadChPhi"),dbe_->get(simInfoPathName+"h_MatchedSimJetPhi"),"effic");
274  dividePlots(dbe_->get(effPathName+"deadChVsEtBkg"), dbe_->get(simInfoPathName+"h_MatchedSimJetBadChEt"),dbe_->get(simInfoPathName+"h_MatchedSimJetEt"),"effic");
275 
276 
277 
279  else if(batch_) dbe_->save(inputFileName_);
280 
281 
282 
283 }
MonitorElement * convEffEtaTwoTracksAndVtxProbGT0005_
MonitorElement * convEffEtTotal_
MonitorElement * convEffZOneTrack_
MonitorElement * h_simConvPhiMTotal_
MonitorElement * convEffEtOneTrack_
MonitorElement * convEffRTwoTracksAndVtxProbGT0_
MonitorElement * bkgRecoEffPhi_
MonitorElement * phoRecoEffEta_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
MonitorElement * phoRecoEffPhi_
MonitorElement * phoDeadChEta_
MonitorElement * convEffEtaOneTrack_
MonitorElement * phoDeadChPhi_
MonitorElement * h_simConvEtaMTotal_
MonitorElement * bkgDeadChEta_
MonitorElement * convEffRTwoTracks_
MonitorElement * bkgRecoEffEt_
MonitorElement * convEffEtaTotal_
MonitorElement * phoRecoEffEt_
MonitorElement * convVsEt_[2]
MonitorElement * bkgDeadChEt_
MonitorElement * phoDeadChEt_
MonitorElement * convFakeRateZTwoTracks_
MonitorElement * convEffZTotal_
MonitorElement * convFakeRateEtaTwoTracks_
MonitorElement * convEffRTotal_
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1708
MonitorElement * convEffPhiTwoTracks_
MonitorElement * h_simConvEtMTotal_
MonitorElement * convFakeRateEtTwoTracks_
MonitorElement * bkgDeadChPhi_
MonitorElement * convEffPhiTotal_
MonitorElement * convEffRTwoTracksAndVtxProbGT0005_
MonitorElement * convEffEtaTwoTracksAndVtxProbGT0_
MonitorElement * convFakeRatePhiTwoTracks_
MonitorElement * convEffPhiOneTrack_
TH1F * getTH1F(void) const
MonitorElement * convEffROneTrack_
MonitorElement * h_simConvRMTotal_
MonitorElement * convEffEtaTwoTracks_
MonitorElement * bkgRecoEffEta_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
Definition: DQMStore.cc:2540
void dividePlots(MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator, std::string type)
bool open(const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2895
MonitorElement * convFakeRateRTwoTracks_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
MonitorElement * h_simConvZMTotal_
MonitorElement * convEffZTwoTracks_
MonitorElement * convEffEtTwoTracks_

Member Data Documentation

std::string PhotonPostprocessing::analyzerName_
private

Definition at line 88 of file PhotonPostprocessing.h.

bool PhotonPostprocessing::batch_
private

Definition at line 85 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgDeadChEt_
private

Definition at line 165 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgDeadChEta_
private

Definition at line 163 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgDeadChPhi_
private

Definition at line 164 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgRecoEffEt_
private

Definition at line 161 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgRecoEffEta_
private

Definition at line 159 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::bkgRecoEffPhi_
private

Definition at line 160 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtaOneTrack_
private

Definition at line 134 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtaTotal_
private

Definition at line 146 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtaTwoTracks_
private

Definition at line 123 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtaTwoTracksAndVtxProbGT0005_
private

Definition at line 130 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtaTwoTracksAndVtxProbGT0_
private

Definition at line 129 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtOneTrack_
private

Definition at line 138 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtTotal_
private

Definition at line 150 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffEtTwoTracks_
private

Definition at line 127 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffPhiOneTrack_
private

Definition at line 135 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffPhiTotal_
private

Definition at line 147 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffPhiTwoTracks_
private

Definition at line 124 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffROneTrack_
private

Definition at line 136 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffRTotal_
private

Definition at line 148 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffRTwoTracks_
private

Definition at line 125 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffRTwoTracksAndVtxProbGT0005_
private

Definition at line 132 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffRTwoTracksAndVtxProbGT0_
private

Definition at line 131 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffZOneTrack_
private

Definition at line 137 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffZTotal_
private

Definition at line 149 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convEffZTwoTracks_
private

Definition at line 126 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convFakeRateEtaTwoTracks_
private

Definition at line 153 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convFakeRateEtTwoTracks_
private

Definition at line 157 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convFakeRatePhiTwoTracks_
private

Definition at line 154 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convFakeRateRTwoTracks_
private

Definition at line 155 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convFakeRateZTwoTracks_
private

Definition at line 156 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::convVsEt_[2]
private

Definition at line 167 of file PhotonPostprocessing.h.

std::stringstream PhotonPostprocessing::currentFolder_
private

Definition at line 92 of file PhotonPostprocessing.h.

DQMStore* PhotonPostprocessing::dbe_
private

Definition at line 78 of file PhotonPostprocessing.h.

int PhotonPostprocessing::etaBin
private

Definition at line 100 of file PhotonPostprocessing.h.

int PhotonPostprocessing::etaBin2
private

Definition at line 101 of file PhotonPostprocessing.h.

double PhotonPostprocessing::etaMax
private

Definition at line 99 of file PhotonPostprocessing.h.

double PhotonPostprocessing::etaMin
private

Definition at line 98 of file PhotonPostprocessing.h.

int PhotonPostprocessing::etBin
private

Definition at line 97 of file PhotonPostprocessing.h.

double PhotonPostprocessing::etMax
private

Definition at line 96 of file PhotonPostprocessing.h.

double PhotonPostprocessing::etMin
private

Definition at line 95 of file PhotonPostprocessing.h.

bool PhotonPostprocessing::fastSim_
private

Definition at line 87 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::h_simConvEtaMTotal_
private

Definition at line 140 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::h_simConvEtMTotal_
private

Definition at line 144 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::h_simConvPhiMTotal_
private

Definition at line 141 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::h_simConvRMTotal_
private

Definition at line 142 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::h_simConvZMTotal_
private

Definition at line 143 of file PhotonPostprocessing.h.

std::string PhotonPostprocessing::inputFileName_
private

Definition at line 90 of file PhotonPostprocessing.h.

bool PhotonPostprocessing::isRunCentrally_
private

Definition at line 86 of file PhotonPostprocessing.h.

std::string PhotonPostprocessing::outputFileName_
private

Definition at line 89 of file PhotonPostprocessing.h.

edm::ParameterSet PhotonPostprocessing::parameters_
private
int PhotonPostprocessing::phiBin
private

Definition at line 104 of file PhotonPostprocessing.h.

double PhotonPostprocessing::phiMax
private

Definition at line 103 of file PhotonPostprocessing.h.

double PhotonPostprocessing::phiMin
private

Definition at line 102 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoDeadChEt_
private

Definition at line 120 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoDeadChEta_
private

Definition at line 118 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoDeadChPhi_
private

Definition at line 119 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoRecoEffEt_
private

Definition at line 116 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoRecoEffEta_
private

Definition at line 114 of file PhotonPostprocessing.h.

MonitorElement* PhotonPostprocessing::phoRecoEffPhi_
private

Definition at line 115 of file PhotonPostprocessing.h.

int PhotonPostprocessing::rBin
private

Definition at line 107 of file PhotonPostprocessing.h.

double PhotonPostprocessing::rMax
private

Definition at line 106 of file PhotonPostprocessing.h.

double PhotonPostprocessing::rMin
private

Definition at line 105 of file PhotonPostprocessing.h.

bool PhotonPostprocessing::standAlone_
private

Definition at line 84 of file PhotonPostprocessing.h.

int PhotonPostprocessing::verbosity_
private

Definition at line 79 of file PhotonPostprocessing.h.

int PhotonPostprocessing::zBin
private

Definition at line 110 of file PhotonPostprocessing.h.

double PhotonPostprocessing::zMax
private

Definition at line 109 of file PhotonPostprocessing.h.

double PhotonPostprocessing::zMin
private

Definition at line 108 of file PhotonPostprocessing.h.