#include <PhotonOfflineClient.h>
Public Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
std::vector< std::vector < MonitorElement * > > | book2DHistoVector (std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2) |
std::vector< std::vector < std::vector< MonitorElement * > > > | book3DHistoVector (std::string histoType, std::string histoName, std::string title, int xbin, double xmin, double xmax, int ybin=1, double ymin=1, double ymax=2) |
MonitorElement * | bookHisto (std::string histoName, std::string title, int bin, double min, double max) |
virtual void | endJob () |
virtual void | endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &) |
virtual void | endRun (const edm::Run &, const edm::EventSetup &) |
PhotonOfflineClient (const edm::ParameterSet &pset) | |
MonitorElement * | retrieveHisto (std::string dir, std::string name) |
virtual void | runClient () |
virtual | ~PhotonOfflineClient () |
Private Member Functions | |
void | dividePlots (MonitorElement *dividend, MonitorElement *numerator, MonitorElement *denominator) |
void | dividePlots (MonitorElement *dividend, MonitorElement *numerator, double denominator) |
Private Attributes | |
bool | batch_ |
std::stringstream | currentFolder_ |
double | cutStep_ |
DQMStore * | dbe_ |
int | etaBin |
double | etaMax |
double | etaMin |
int | etBin |
double | etMax |
double | etMin |
int | histo_index_conversions_ |
int | histo_index_efficiency_ |
int | histo_index_invMass_ |
int | histo_index_photons_ |
std::string | inputFileName_ |
int | numberOfSteps_ |
std::string | outputFileName_ |
std::vector< std::vector < MonitorElement * > > | p_badChannelsFractionVsEt_ |
std::vector< std::vector < MonitorElement * > > | p_badChannelsFractionVsEta_ |
std::vector< std::vector < MonitorElement * > > | p_badChannelsFractionVsPhi_ |
std::vector< std::vector < MonitorElement * > > | p_convFractionVsEt_ |
std::vector< std::vector < MonitorElement * > > | p_convFractionVsEta_ |
MonitorElement * | p_convFractionVsEtaLoose_ |
MonitorElement * | p_convFractionVsEtaTight_ |
MonitorElement * | p_convFractionVsEtLoose_ |
MonitorElement * | p_convFractionVsEtTight_ |
std::vector< std::vector < std::vector< MonitorElement * > > > | p_convFractionVsPhi_ |
MonitorElement * | p_efficiencyVsEtaHLT_ |
MonitorElement * | p_efficiencyVsEtaLoose_ |
MonitorElement * | p_efficiencyVsEtaTight_ |
MonitorElement * | p_efficiencyVsEtHLT_ |
MonitorElement * | p_efficiencyVsEtLoose_ |
MonitorElement * | p_efficiencyVsEtTight_ |
MonitorElement * | p_vertexReconstructionEfficiencyVsEta_ |
edm::ParameterSet | parameters_ |
std::vector< std::string > | parts_ |
int | phiBin |
double | phiMax |
double | phiMin |
bool | standAlone_ |
std::vector< std::string > | types_ |
int | verbosity_ |
$Id: PhotonOfflineClient
authors: Nancy Marinelli, U. of Notre Dame, US Jamie Antonelli, U. of Notre Dame, US
Definition at line 59 of file PhotonOfflineClient.h.
PhotonOfflineClient::PhotonOfflineClient | ( | const edm::ParameterSet & | pset | ) | [explicit] |
Definition at line 26 of file PhotonOfflineClient.cc.
References dbe_, jptDQMConfig_cff::etaMax, jptDQMConfig_cff::etaMin, jptDQMConfig_cff::etMax, reco::tau::qcuts::etMin(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), cmsCodeRules::cppFunctionSkipper::operator, jptDQMConfig_cff::phiMax, jptDQMConfig_cff::phiMin, and DQMStore::setVerbose().
{ dbe_ = 0; dbe_ = edm::Service<DQMStore>().operator->(); dbe_->setVerbose(0); parameters_ = pset; cutStep_ = pset.getParameter<double>("cutStep"); numberOfSteps_ = pset.getParameter<int>("numberOfSteps"); etMin = pset.getParameter<double>("etMin"); etMax = pset.getParameter<double>("etMax"); etBin = pset.getParameter<int>("etBin"); etaMin = pset.getParameter<double>("etaMin"); etaMax = pset.getParameter<double>("etaMax"); etaBin = pset.getParameter<int>("etaBin"); phiMin = pset.getParameter<double>("phiMin"); phiMax = pset.getParameter<double>("phiMax"); phiBin = pset.getParameter<int>("phiBin"); standAlone_ = pset.getParameter<bool>("standAlone"); batch_ = pset.getParameter<bool>("batch"); outputFileName_ = pset.getParameter<string>("OutputFileName"); inputFileName_ = pset.getUntrackedParameter<string>("InputFileName"); histo_index_photons_ = 0; histo_index_conversions_ = 0; histo_index_efficiency_ = 0; histo_index_invMass_ = 0; types_.push_back("All"); types_.push_back("GoodCandidate"); types_.push_back("Background"); parts_.push_back("AllEcal"); parts_.push_back("Barrel"); parts_.push_back("Endcaps"); }
PhotonOfflineClient::~PhotonOfflineClient | ( | ) | [virtual] |
Definition at line 68 of file PhotonOfflineClient.cc.
{}
void PhotonOfflineClient::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | esup | ||
) | [virtual] |
void PhotonOfflineClient::beginJob | ( | void | ) | [virtual] |
vector< vector< MonitorElement * > > PhotonOfflineClient::book2DHistoVector | ( | std::string | histoType, |
std::string | histoName, | ||
std::string | title, | ||
int | xbin, | ||
double | xmin, | ||
double | xmax, | ||
int | ybin = 1 , |
||
double | ymin = 1 , |
||
double | ymax = 2 |
||
) |
Definition at line 1091 of file PhotonAnalyzer.cc.
References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), gather_cfg::cout, align_tpl::cut, dbe_, DQMStore::pwd(), DQMStore::setCurrentFolder(), and indexGen::title.
{ int histo_index = 0; vector<MonitorElement*> temp1DVector; // vector<vector<MonitorElement*> > temp2DVector; //determining which folder we're in bool conversionPlot = false; if(dbe_->pwd().find( "Conversions" ) != string::npos) conversionPlot = true; bool TwoDPlot = false; if(histoName.find( "2D" ) != string::npos) TwoDPlot = true; if(conversionPlot){ histo_index_conversions_++; histo_index = histo_index_conversions_; } else{ histo_index_photons_++; histo_index = histo_index_photons_; } stringstream histo_number_stream; histo_number_stream << "h_"; if(histo_index<10) histo_number_stream << "0"; histo_number_stream << histo_index << "_"; for(int cut = 0; cut != numberOfSteps_; ++cut){ //looping over Et cut values for(uint type=0;type!=types_.size();++type){ //looping over isolation type currentFolder_.str(""); currentFolder_ << "Egamma/PhotonAnalyzer/" << types_[type] << "Photons/Et above " << (cut+1)*cutStep_ << " GeV"; if(conversionPlot) currentFolder_ << "/Conversions"; dbe_->setCurrentFolder(currentFolder_.str()); string kind; if(conversionPlot) kind = " Conversions: "; else kind = " Photons: "; if(histoType=="1D") temp1DVector.push_back(dbe_->book1D( histo_number_stream.str()+histoName,types_[type]+kind+title,xbin,xmin,xmax)); else if(histoType=="2D"){ if((TwoDPlot && type==0) || !TwoDPlot){//only book the 2D plots in the "AllPhotons" folder temp1DVector.push_back(dbe_->book2D( histo_number_stream.str()+histoName,types_[type]+kind+title,xbin,xmin,xmax,ybin,ymin,ymax)); } } else if(histoType=="Profile") temp1DVector.push_back(dbe_->bookProfile( histo_number_stream.str()+histoName,types_[type]+kind+title,xbin,xmin,xmax,ybin,ymin,ymax,"")); else cout << "bad histoType\n"; } temp2DVector.push_back(temp1DVector); temp1DVector.clear(); } // return temp2DVector; }
vector< vector< vector< MonitorElement * > > > PhotonOfflineClient::book3DHistoVector | ( | std::string | histoType, |
std::string | histoName, | ||
std::string | title, | ||
int | xbin, | ||
double | xmin, | ||
double | xmax, | ||
int | ybin = 1 , |
||
double | ymin = 1 , |
||
double | ymax = 2 |
||
) |
Definition at line 1155 of file PhotonAnalyzer.cc.
References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), gather_cfg::cout, align_tpl::cut, dbe_, DQMStore::pwd(), DQMStore::setCurrentFolder(), and indexGen::title.
{ int histo_index = 0; vector<MonitorElement*> temp1DVector; vector<vector<MonitorElement*> > temp2DVector; // vector<vector<vector<MonitorElement*> > > temp3DVector; //determining which folder we're in bool conversionPlot = false; if(dbe_->pwd().find( "Conversions" ) != string::npos) conversionPlot = true; if(conversionPlot){ histo_index_conversions_++; histo_index = histo_index_conversions_; } else{ histo_index_photons_++; histo_index = histo_index_photons_; } stringstream histo_number_stream; histo_number_stream << "h_"; if(histo_index<10) histo_number_stream << "0"; histo_number_stream << histo_index << "_"; for(int cut = 0; cut != numberOfSteps_; ++cut){ //looping over Et cut values for(uint type=0;type!=types_.size();++type){ //looping over isolation type for(uint part=0;part!=parts_.size();++part){ //looping over different parts of the ecal currentFolder_.str(""); currentFolder_ << "Egamma/PhotonAnalyzer/" << types_[type] << "Photons/Et above " << (cut+1)*cutStep_ << " GeV"; if(conversionPlot) currentFolder_ << "/Conversions"; dbe_->setCurrentFolder(currentFolder_.str()); string kind; if(conversionPlot) kind = " Conversions: "; else kind = " Photons: "; if(histoType=="1D") temp1DVector.push_back(dbe_->book1D( histo_number_stream.str()+histoName+parts_[part],types_[type]+kind+parts_[part]+": "+title,xbin,xmin,xmax)); else if(histoType=="2D") temp1DVector.push_back(dbe_->book2D( histo_number_stream.str()+histoName+parts_[part],types_[type]+kind+parts_[part]+": "+title,xbin,xmin,xmax,ybin,ymin,ymax)); else if(histoType=="Profile") temp1DVector.push_back(dbe_->bookProfile( histo_number_stream.str()+histoName+parts_[part],types_[type]+kind+parts_[part]+": "+title,xbin,xmin,xmax,ybin,ymin,ymax,"")); else cout << "bad histoType\n"; } temp2DVector.push_back(temp1DVector); temp1DVector.clear(); } temp3DVector.push_back(temp2DVector); temp2DVector.clear(); } // return temp3DVector; }
MonitorElement* PhotonOfflineClient::bookHisto | ( | std::string | histoName, |
std::string | title, | ||
int | bin, | ||
double | min, | ||
double | max | ||
) |
void PhotonOfflineClient::dividePlots | ( | MonitorElement * | dividend, |
MonitorElement * | numerator, | ||
MonitorElement * | denominator | ||
) | [private] |
Definition at line 329 of file PhotonOfflineClient.cc.
References MonitorElement::getBinContent(), MonitorElement::getEntries(), MonitorElement::getNbinsX(), j, MonitorElement::setBinContent(), MonitorElement::setBinError(), MonitorElement::setEntries(), mathSSE::sqrt(), and relativeConstraints::value.
{ double value,err; if(denominator->getEntries()==0) return; for (int j=1; j<=numerator->getNbinsX(); j++){ if (denominator->getBinContent(j)!=0){ value = ((double) numerator->getBinContent(j))/((double) denominator->getBinContent(j)); err = sqrt( value*(1-value) / ((double) denominator->getBinContent(j)) ); dividend->setBinContent(j, value); dividend->setBinError(j,err); } else { dividend->setBinContent(j, 0); dividend->setBinError(j,0); } dividend->setEntries(numerator->getEntries()); } }
void PhotonOfflineClient::dividePlots | ( | MonitorElement * | dividend, |
MonitorElement * | numerator, | ||
double | denominator | ||
) | [private] |
Definition at line 350 of file PhotonOfflineClient.cc.
References MonitorElement::getBinContent(), MonitorElement::getNbinsX(), j, MonitorElement::setBinContent(), MonitorElement::setBinError(), mathSSE::sqrt(), and relativeConstraints::value.
{ double value,err; for (int j=1; j<=numerator->getNbinsX(); j++){ if (denominator!=0){ value = ((double) numerator->getBinContent(j))/denominator; err = sqrt( value*(1-value) / denominator); dividend->setBinContent(j, value); dividend->setBinError(j,err); } else { dividend->setBinContent(j, 0); } } }
void PhotonOfflineClient::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 79 of file PhotonOfflineClient.cc.
{ if(standAlone_) runClient(); }
void PhotonOfflineClient::endLuminosityBlock | ( | const edm::LuminosityBlock & | , |
const edm::EventSetup & | setup | ||
) | [virtual] |
void PhotonOfflineClient::endRun | ( | const edm::Run & | run, |
const edm::EventSetup & | setup | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 83 of file PhotonOfflineClient.cc.
{ if(!standAlone_) runClient(); }
MonitorElement * PhotonOfflineClient::retrieveHisto | ( | std::string | dir, |
std::string | name | ||
) |
Definition at line 518 of file PhotonOfflineClient.cc.
References dbe_, DQMStore::getContents(), and getHLTprescales::index.
{ //cout << "dir = " << dir << endl; //cout << "name = " << name << endl; vector<MonitorElement*> histoVector; uint indexOfRelevantHistogram=0; string fullMEName = ""; histoVector = dbe_->getContents(dir); for(uint index=0;index!=histoVector.size();index++){ string MEName = histoVector[index]->getName(); if(MEName.find( name ) != string::npos){ indexOfRelevantHistogram = index; break; } } return histoVector[indexOfRelevantHistogram]; }
void PhotonOfflineClient::runClient | ( | ) | [virtual] |
Definition at line 91 of file PhotonOfflineClient.cc.
References align_tpl::cut, dbe_, RecoTauValidation_cfi::denominator, DQMStore::dirExists(), jptDQMConfig_cff::etaMax, jptDQMConfig_cff::etaMin, jptDQMConfig_cff::etMax, reco::tau::qcuts::etMin(), DQMStore::get(), MonitorElement::getIntValue(), DQMStore::open(), jptDQMConfig_cff::phiMax, jptDQMConfig_cff::phiMin, DQMStore::removeElement(), DQMStore::save(), and DQMStore::setCurrentFolder().
{ if(!dbe_) return; if(batch_) dbe_->open(inputFileName_); if(!dbe_->dirExists("Egamma/PhotonAnalyzer")){ //cout << "egamma directory doesn't exist..." << std::endl; return; } //find out how many histograms are in the various folders histo_index_photons_ = dbe_->get("Egamma/PhotonAnalyzer/numberOfHistogramsInPhotonsFolder")->getIntValue(); histo_index_conversions_ = dbe_->get("Egamma/PhotonAnalyzer/numberOfHistogramsInConversionsFolder")->getIntValue(); histo_index_efficiency_ = dbe_->get("Egamma/PhotonAnalyzer/numberOfHistogramsInEfficiencyFolder")->getIntValue(); histo_index_invMass_ = dbe_->get("Egamma/PhotonAnalyzer/numberOfHistogramsInInvMassFolder")->getIntValue(); dbe_->setCurrentFolder("Egamma/PhotonAnalyzer/"); dbe_->removeElement("numberOfHistogramsInPhotonsFolder"); dbe_->removeElement("numberOfHistogramsInConversionsFolder"); dbe_->removeElement("numberOfHistogramsInEfficiencyFolder"); dbe_->removeElement("numberOfHistogramsInInvMassFolder"); string AllPath = "Egamma/PhotonAnalyzer/AllPhotons/"; string IsoPath = "Egamma/PhotonAnalyzer/GoodCandidatePhotons/"; string NonisoPath = "Egamma/PhotonAnalyzer/BackgroundPhotons/"; string EffPath = "Egamma/PhotonAnalyzer/Efficiencies/"; //booking efficiency histograms dbe_->setCurrentFolder(EffPath); p_efficiencyVsEtaLoose_ = bookHisto("EfficiencyVsEtaLoose","Fraction of Photons passing Loose Isolation vs #eta;#eta",etaBin,etaMin, etaMax); p_efficiencyVsEtLoose_ = bookHisto("EfficiencyVsEtLoose", "Fraction of Photons passing Loose Isolation vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_efficiencyVsEtaTight_ = bookHisto("EfficiencyVsEtaTight","Fraction of Photons passing Tight Isolation vs #eta;#eta",etaBin,etaMin, etaMax); p_efficiencyVsEtTight_ = bookHisto("EfficiencyVsEtTight", "Fraction of Photons passing Tight Isolation vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_efficiencyVsEtaHLT_ = bookHisto("EfficiencyVsEtaHLT","Fraction of Photons firing HLT vs #eta;#eta",etaBin,etaMin, etaMax); p_efficiencyVsEtHLT_ = bookHisto("EfficiencyVsEtHLT", "Fraction of Photons firing HLT vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_convFractionVsEtaLoose_ = bookHisto("ConvFractionVsEtaLoose","Fraction of Loosely Isolated Photons which are matched to two tracks vs #eta;#eta",etaBin,etaMin, etaMax); p_convFractionVsEtLoose_ = bookHisto("ConvFractionVsEtLoose", "Fraction of Loosely Isolated Photons which are matched to two tracks vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_convFractionVsEtaTight_ = bookHisto("ConvFractionVsEtaTight","Fraction of Tightly Isolated Photons which are matched to two tracks vs #eta;#eta",etaBin,etaMin, etaMax); p_convFractionVsEtTight_ = bookHisto("ConvFractionVsEtTight", "Fraction of Tightly Isolated Photons which are matched to two tracks vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_vertexReconstructionEfficiencyVsEta_ = bookHisto("VertexReconstructionEfficiencyVsEta","Fraction of Converted Photons which have a valid vertex vs #eta;#eta",etaBin,etaMin, etaMax); //booking conversion fraction histograms dbe_->setCurrentFolder(AllPath+"Et above 20 GeV/Conversions"); p_convFractionVsEt_ = book2DHistoVector("1D","convFractionVsEt", "Fraction of Converted Photons vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); p_convFractionVsPhi_ = book3DHistoVector("1D","convFractionVsPhi","Fraction of Converted Photons vs #phi;#phi",phiBin,phiMin,phiMax); p_convFractionVsEta_ = book2DHistoVector("1D","convFractionVsEta","Fraction of Converted Photons vs #eta;#eta",etaBin,etaMin,etaMax); //booking bad channel fraction histograms dbe_->setCurrentFolder(AllPath+"Et above 20 GeV/"); p_badChannelsFractionVsPhi_ = book2DHistoVector("1D","badChannelsFractionVsPhi","Fraction of Photons which have at least one bad channel vs #phi;#phi",phiBin,phiMin,phiMax); p_badChannelsFractionVsEta_ = book2DHistoVector("1D","badChannelsFractionVsEta","Fraction of Photons which have at least one bad channel vs #eta;#eta",etaBin,etaMin, etaMax); p_badChannelsFractionVsEt_ = book2DHistoVector("1D","badChannelsFractionVsEt", "Fraction of Photons which have at least one bad channel vs E_{T};E_{T} (GeV)",etBin,etMin,etMax); //making efficiency plots MonitorElement * dividend; MonitorElement * numerator; MonitorElement * denominator; currentFolder_.str(""); currentFolder_ << AllPath << "Et above 20 GeV/"; //HLT efficiency plots dividend = retrieveHisto(EffPath,"EfficiencyVsEtaHLT"); numerator = retrieveHisto(EffPath,"phoEtaPostHLT"); denominator = retrieveHisto(EffPath,"phoEtaPreHLT"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(EffPath,"EfficiencyVsEtHLT"); numerator = retrieveHisto(EffPath,"phoEtPostHLT"); denominator = retrieveHisto(EffPath,"phoEtPreHLT"); dividePlots(dividend,numerator,denominator); //efficiencies vs Eta denominator = retrieveHisto(currentFolder_.str(),"phoEta"); dividend = retrieveHisto(EffPath,"EfficiencyVsEtaLoose"); numerator = retrieveHisto(EffPath,"phoEtaLoose"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(EffPath,"EfficiencyVsEtaTight"); numerator = retrieveHisto(EffPath,"phoEtaTight"); dividePlots(dividend,numerator,denominator); //efficiencies vs Et denominator = retrieveHisto(currentFolder_.str(),"phoEtAllEcal"); dividend = retrieveHisto(EffPath,"EfficiencyVsEtLoose"); numerator = retrieveHisto(EffPath,"phoEtLoose"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(EffPath,"EfficiencyVsEtTight"); numerator = retrieveHisto(EffPath,"phoEtTight"); dividePlots(dividend,numerator,denominator); //conversion fractions vs Eta dividend = retrieveHisto(EffPath,"ConvFractionVsEtaLoose"); numerator = retrieveHisto(EffPath,"convEtaLoose"); denominator = retrieveHisto(EffPath,"phoEtaLoose"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(EffPath,"ConvFractionVsEtaTight"); numerator = retrieveHisto(EffPath,"convEtaTight"); denominator = retrieveHisto(EffPath,"phoEtaTight"); dividePlots(dividend,numerator,denominator); //conversion fractions vs Et dividend = retrieveHisto(EffPath,"ConvFractionVsEtLoose"); numerator = retrieveHisto(EffPath,"convEtLoose"); denominator = retrieveHisto(EffPath,"phoEtLoose"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(EffPath,"ConvFractionVsEtTight"); numerator = retrieveHisto(EffPath,"convEtTight"); denominator = retrieveHisto(EffPath,"phoEtTight"); dividePlots(dividend,numerator,denominator); //conversion vertex recontruction efficiency dividend = retrieveHisto(EffPath,"VertexReconstructionEfficiencyVsEta"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvEta"); denominator = retrieveHisto(EffPath,"phoEtaVertex"); dividePlots(dividend,numerator,denominator); dbe_->setCurrentFolder(EffPath); dbe_->removeElement("phoEtaPreHLT"); dbe_->removeElement("phoEtPreHLT"); dbe_->removeElement("phoEtaPostHLT"); dbe_->removeElement("phoEtPostHLT"); dbe_->removeElement("phoEtaLoose"); dbe_->removeElement("phoEtaTight"); dbe_->removeElement("phoEtLoose"); dbe_->removeElement("phoEtTight"); dbe_->removeElement("phoEtaVertex"); dbe_->removeElement("convEtaLoose"); dbe_->removeElement("convEtaTight"); dbe_->removeElement("convEtLoose"); dbe_->removeElement("convEtTight"); for(uint type=0;type!=types_.size();++type){ for (int cut = 0; cut !=numberOfSteps_; ++cut) { currentFolder_.str(""); currentFolder_ << "Egamma/PhotonAnalyzer/" << types_[type] << "Photons/Et above " << (cut+1)*cutStep_ << " GeV/"; //making bad channel histograms //vs Et dividend = retrieveHisto(currentFolder_.str(),"badChannelsFractionVsEt"); numerator = retrieveHisto(currentFolder_.str(),"phoEtBadChannels"); denominator = retrieveHisto(currentFolder_.str(),"phoEtAllEcal"); dividePlots(dividend,numerator,denominator); //vs eta dividend = retrieveHisto(currentFolder_.str(),"badChannelsFractionVsEta"); numerator = retrieveHisto(currentFolder_.str(),"phoEtaBadChannels"); denominator = retrieveHisto(currentFolder_.str(),"phoEta"); dividePlots(dividend,numerator,denominator); //vs phi dividend = retrieveHisto(currentFolder_.str(),"badChannelsFractionVsPhi"); numerator = retrieveHisto(currentFolder_.str(),"phoPhiBadChannels"); denominator = retrieveHisto(currentFolder_.str(),"phoPhiAllEcal"); dividePlots(dividend,numerator,denominator); //making conversion fraction histograms //vs Et dividend = retrieveHisto(currentFolder_.str()+"Conversions/","convFractionVsEt"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvEtAllEcal"); denominator = retrieveHisto(currentFolder_.str(),"phoEtAllEcal"); dividePlots(dividend,numerator,denominator); //vs eta dividend = retrieveHisto(currentFolder_.str()+"Conversions/","convFractionVsEta"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvEtaForEfficiency"); denominator = retrieveHisto(currentFolder_.str(),"phoEta"); dividePlots(dividend,numerator,denominator); //vs phi dividend = retrieveHisto(currentFolder_.str()+"Conversions/","convFractionVsPhiAllEcal"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvPhiForEfficiencyAllEcal"); denominator = retrieveHisto(currentFolder_.str(),"phoPhiAllEcal"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(currentFolder_.str()+"Conversions/","convFractionVsPhiBarrel"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvPhiForEfficiencyBarrel"); denominator = retrieveHisto(currentFolder_.str(),"phoPhiBarrel"); dividePlots(dividend,numerator,denominator); dividend = retrieveHisto(currentFolder_.str()+"Conversions/","convFractionVsPhiEndcaps"); numerator = retrieveHisto(currentFolder_.str()+"Conversions/","phoConvPhiForEfficiencyEndcaps"); denominator = retrieveHisto(currentFolder_.str(),"phoPhiEndcaps"); dividePlots(dividend,numerator,denominator); dbe_->setCurrentFolder(currentFolder_.str()+"Conversions/"); dbe_->removeElement("phoConvEtaForEfficiency"); dbe_->removeElement("phoConvPhiForEfficiencyAllEcal"); dbe_->removeElement("phoConvPhiForEfficiencyBarrel"); dbe_->removeElement("phoConvPhiForEfficiencyEndcaps"); } } if(standAlone_) dbe_->save(outputFileName_); else if(batch_) dbe_->save(inputFileName_); }
bool PhotonOfflineClient::batch_ [private] |
Definition at line 137 of file PhotonOfflineClient.h.
std::stringstream PhotonOfflineClient::currentFolder_ [private] |
Definition at line 142 of file PhotonOfflineClient.h.
double PhotonOfflineClient::cutStep_ [private] |
Definition at line 123 of file PhotonOfflineClient.h.
DQMStore* PhotonOfflineClient::dbe_ [private] |
Definition at line 118 of file PhotonOfflineClient.h.
int PhotonOfflineClient::etaBin [private] |
Definition at line 131 of file PhotonOfflineClient.h.
double PhotonOfflineClient::etaMax [private] |
Definition at line 130 of file PhotonOfflineClient.h.
double PhotonOfflineClient::etaMin [private] |
Definition at line 129 of file PhotonOfflineClient.h.
int PhotonOfflineClient::etBin [private] |
Definition at line 128 of file PhotonOfflineClient.h.
double PhotonOfflineClient::etMax [private] |
Definition at line 127 of file PhotonOfflineClient.h.
double PhotonOfflineClient::etMin [private] |
Definition at line 126 of file PhotonOfflineClient.h.
int PhotonOfflineClient::histo_index_conversions_ [private] |
Definition at line 145 of file PhotonOfflineClient.h.
int PhotonOfflineClient::histo_index_efficiency_ [private] |
Definition at line 146 of file PhotonOfflineClient.h.
int PhotonOfflineClient::histo_index_invMass_ [private] |
Definition at line 147 of file PhotonOfflineClient.h.
int PhotonOfflineClient::histo_index_photons_ [private] |
Definition at line 144 of file PhotonOfflineClient.h.
std::string PhotonOfflineClient::inputFileName_ [private] |
Definition at line 140 of file PhotonOfflineClient.h.
int PhotonOfflineClient::numberOfSteps_ [private] |
Definition at line 124 of file PhotonOfflineClient.h.
std::string PhotonOfflineClient::outputFileName_ [private] |
Definition at line 139 of file PhotonOfflineClient.h.
std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsEt_ [private] |
Definition at line 109 of file PhotonOfflineClient.h.
std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsEta_ [private] |
Definition at line 107 of file PhotonOfflineClient.h.
std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_badChannelsFractionVsPhi_ [private] |
Definition at line 108 of file PhotonOfflineClient.h.
std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_convFractionVsEt_ [private] |
Definition at line 105 of file PhotonOfflineClient.h.
std::vector<std::vector<MonitorElement*> > PhotonOfflineClient::p_convFractionVsEta_ [private] |
Definition at line 103 of file PhotonOfflineClient.h.
Definition at line 98 of file PhotonOfflineClient.h.
Definition at line 100 of file PhotonOfflineClient.h.
Definition at line 99 of file PhotonOfflineClient.h.
Definition at line 101 of file PhotonOfflineClient.h.
std::vector<std::vector<std::vector<MonitorElement*> > > PhotonOfflineClient::p_convFractionVsPhi_ [private] |
Definition at line 104 of file PhotonOfflineClient.h.
Definition at line 95 of file PhotonOfflineClient.h.
Definition at line 91 of file PhotonOfflineClient.h.
Definition at line 93 of file PhotonOfflineClient.h.
Definition at line 96 of file PhotonOfflineClient.h.
Definition at line 92 of file PhotonOfflineClient.h.
Definition at line 94 of file PhotonOfflineClient.h.
Definition at line 111 of file PhotonOfflineClient.h.
Definition at line 121 of file PhotonOfflineClient.h.
std::vector<std::string> PhotonOfflineClient::parts_ [private] |
Definition at line 150 of file PhotonOfflineClient.h.
int PhotonOfflineClient::phiBin [private] |
Definition at line 134 of file PhotonOfflineClient.h.
double PhotonOfflineClient::phiMax [private] |
Definition at line 133 of file PhotonOfflineClient.h.
double PhotonOfflineClient::phiMin [private] |
Definition at line 132 of file PhotonOfflineClient.h.
bool PhotonOfflineClient::standAlone_ [private] |
Definition at line 136 of file PhotonOfflineClient.h.
std::vector<std::string> PhotonOfflineClient::types_ [private] |
Definition at line 149 of file PhotonOfflineClient.h.
int PhotonOfflineClient::verbosity_ [private] |
Definition at line 119 of file PhotonOfflineClient.h.