#include <MuonAnalysis/MomentumScaleCalibration/plugins/ErrorsPropagationAnalyzer.cc>
Public Member Functions | |
ErrorsPropagationAnalyzer (const edm::ParameterSet &) | |
~ErrorsPropagationAnalyzer () | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
void | drawHistograms (const TProfile *histo, const TProfile *histoPlusErr, const TProfile *histoMinusErr, const TString &type) |
virtual void | endJob () |
void | fillHistograms () |
void | fillValueError () |
Private Attributes | |
bool | debug_ |
std::vector< int > | errorFactors_ |
std::vector< double > | errors_ |
int | etaBins_ |
double | etaMax_ |
double | etaMaxCut_ |
double | etaMin_ |
double | etaMinCut_ |
uint32_t | maxEvents_ |
TString | outputFileName_ |
std::vector< double > | parameters_ |
int | ptBins_ |
double | ptMax_ |
double | ptMaxCut_ |
double | ptMin_ |
double | ptMinCut_ |
int | resolFitType_ |
TProfile * | sigmaMassVsEta_ |
TProfile * | sigmaMassVsEtaMinusErr_ |
TProfile * | sigmaMassVsEtaPlusErr_ |
TProfile * | sigmaMassVsPt_ |
TProfile * | sigmaMassVsPtMinusErr_ |
TProfile * | sigmaMassVsPtPlusErr_ |
TProfile * | sigmaPtVsEta_ |
TProfile * | sigmaPtVsEtaDiff_ |
TProfile * | sigmaPtVsEtaMinusErr_ |
TProfile * | sigmaPtVsEtaPlusErr_ |
TProfile * | sigmaPtVsPt_ |
TProfile * | sigmaPtVsPtDiff_ |
TProfile * | sigmaPtVsPtMinusErr_ |
TProfile * | sigmaPtVsPtPlusErr_ |
TString | treeFileName_ |
std::vector< double > | valueMinusError_ |
std::vector< double > | valuePlusError_ |
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 50 of file ErrorsPropagationAnalyzer.h.
ErrorsPropagationAnalyzer::ErrorsPropagationAnalyzer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 6 of file ErrorsPropagationAnalyzer.cc.
References gather_cfg::cout, errorFactors_, errors_, etaBins_, etaMax_, etaMin_, cmsRelvalreport::exit, fillValueError(), edm::ParameterSet::getParameter(), parameters_, ptBins_, ptMax_, ptMin_, sigmaMassVsEta_, sigmaMassVsEtaMinusErr_, sigmaMassVsEtaPlusErr_, sigmaMassVsPt_, sigmaMassVsPtMinusErr_, sigmaMassVsPtPlusErr_, sigmaPtVsEta_, sigmaPtVsEtaDiff_, sigmaPtVsEtaMinusErr_, sigmaPtVsEtaPlusErr_, sigmaPtVsPt_, sigmaPtVsPtDiff_, sigmaPtVsPtMinusErr_, and sigmaPtVsPtPlusErr_.
: treeFileName_( iConfig.getParameter<std::string>("InputFileName") ), resolFitType_( iConfig.getParameter<int>("ResolFitType") ), maxEvents_( iConfig.getParameter<int>("MaxEvents") ), outputFileName_( iConfig.getParameter<std::string>("OutputFileName") ), ptBins_( iConfig.getParameter<int>("PtBins") ), ptMin_( iConfig.getParameter<double>("PtMin") ), ptMax_( iConfig.getParameter<double>("PtMax") ), etaBins_( iConfig.getParameter<int>("EtaBins") ), etaMin_( iConfig.getParameter<double>("EtaMin") ), etaMax_( iConfig.getParameter<double>("EtaMax") ), debug_( iConfig.getParameter<bool>("Debug") ), ptMinCut_( iConfig.getUntrackedParameter<double>("PtMinCut", 0.) ), ptMaxCut_( iConfig.getUntrackedParameter<double>("PtMaxCut", 999999.) ), etaMinCut_( iConfig.getUntrackedParameter<double>("EtaMinCut", 0.) ), etaMaxCut_( iConfig.getUntrackedParameter<double>("EtaMaxCut", 100.) ) { parameters_ = iConfig.getParameter<std::vector<double> >("Parameters"); errors_ = iConfig.getParameter<std::vector<double> >("Errors"); errorFactors_ = iConfig.getParameter<std::vector<int> >("ErrorFactors"); if( (parameters_.size() != errors_.size()) || (parameters_.size() != errorFactors_.size()) ) { std::cout << "Error: parameters and errors have different number of values" << std::endl; exit(1); } fillValueError(); sigmaPtVsPt_ = new TProfile("sigmaPtVsPtProfile", "sigmaPtVsPt", ptBins_, ptMin_, ptMax_); sigmaPtVsPtPlusErr_ = new TProfile("sigmaPtVsPtPlusErrProfile", "sigmaPtVsPtPlusErr", ptBins_, ptMin_, ptMax_); sigmaPtVsPtMinusErr_ = new TProfile("sigmaPtVsPtMinusErrProfile", "sigmaPtVsPtMinusErr", ptBins_, ptMin_, ptMax_); sigmaPtVsEta_ = new TProfile("sigmaPtVsEtaProfile", "sigmaPtVsEta", etaBins_, etaMin_, etaMax_); sigmaPtVsEtaPlusErr_ = new TProfile("sigmaPtVsEtaPlusErrProfile", "sigmaPtVsEtaPlusErr", etaBins_, etaMin_, etaMax_); sigmaPtVsEtaMinusErr_ = new TProfile("sigmaPtVsEtaMinusErrProfile", "sigmaPtVsEtaMinusErr", etaBins_, etaMin_, etaMax_); sigmaMassVsPt_ = new TProfile("sigmaMassVsPtProfile", "sigmaMassVsPt", ptBins_, ptMin_, ptMax_); sigmaMassVsPtPlusErr_ = new TProfile("sigmaMassVsPtPlusErrProfile", "sigmaMassVsPtPlusErr", ptBins_, ptMin_, ptMax_); sigmaMassVsPtMinusErr_ = new TProfile("sigmaMassVsPtMinusErrProfile", "sigmaMassVsPtMinusErr", ptBins_, ptMin_, ptMax_); sigmaMassVsEta_ = new TProfile("sigmaMassVsEtaProfile", "sigmaMassVsEta", etaBins_, etaMin_, etaMax_); sigmaMassVsEtaPlusErr_ = new TProfile("sigmaMassVsEtaPlusErrProfile", "sigmaMassVsEtaPlusErr", etaBins_, etaMin_, etaMax_); sigmaMassVsEtaMinusErr_ = new TProfile("sigmaMassVsEtaMinusErrProfile", "sigmaMassVsEtaMinusErr", etaBins_, etaMin_, etaMax_); sigmaPtVsPtDiff_ = new TProfile("sigmaPtVsPtDiffProfile", "sigmaPtVsPtDiff", ptBins_, ptMin_, ptMax_); sigmaPtVsEtaDiff_ = new TProfile("sigmaPtVsEtaDiffProfile", "sigmaPtVsEtaDiff", etaBins_, etaMin_, etaMax_); }
ErrorsPropagationAnalyzer::~ErrorsPropagationAnalyzer | ( | ) |
Definition at line 69 of file ErrorsPropagationAnalyzer.cc.
References drawHistograms(), fillHistograms(), download_sqlite_cfg::outputFile, outputFileName_, sigmaMassVsEta_, sigmaMassVsEtaMinusErr_, sigmaMassVsEtaPlusErr_, sigmaMassVsPt_, sigmaMassVsPtMinusErr_, sigmaMassVsPtPlusErr_, sigmaPtVsEta_, sigmaPtVsEtaDiff_, sigmaPtVsEtaMinusErr_, sigmaPtVsEtaPlusErr_, sigmaPtVsPt_, sigmaPtVsPtDiff_, sigmaPtVsPtMinusErr_, and sigmaPtVsPtPlusErr_.
{ gROOT->SetStyle("Plain"); fillHistograms(); TFile * outputFile = new TFile(outputFileName_, "RECREATE"); drawHistograms(sigmaPtVsEta_, sigmaPtVsEtaPlusErr_, sigmaPtVsEtaMinusErr_, "sigmaPtVsEta"); drawHistograms(sigmaPtVsPt_, sigmaPtVsPtPlusErr_, sigmaPtVsPtMinusErr_, "sigmaPtVsPt"); drawHistograms(sigmaMassVsEta_, sigmaMassVsEtaPlusErr_, sigmaMassVsEtaMinusErr_, "sigmaMassVsEta"); drawHistograms(sigmaMassVsPt_, sigmaMassVsPtPlusErr_, sigmaMassVsPtMinusErr_, "sigmaMassVsPt"); sigmaPtVsPtDiff_->Write(); sigmaPtVsEtaDiff_->Write(); outputFile->Write(); outputFile->Close(); }
void ErrorsPropagationAnalyzer::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
void ErrorsPropagationAnalyzer::drawHistograms | ( | const TProfile * | histo, |
const TProfile * | histoPlusErr, | ||
const TProfile * | histoMinusErr, | ||
const TString & | type | ||
) | [private] |
Definition at line 90 of file ErrorsPropagationAnalyzer.cc.
References MultipleCompare::canvas, i, sigmaMassVsEta_, sigmaMassVsEtaMinusErr_, sigmaMassVsEtaPlusErr_, sigmaPtVsEta_, sigmaPtVsEtaMinusErr_, sigmaPtVsEtaPlusErr_, indexGen::title, and makeHLTPrescaleTable::values.
Referenced by ~ErrorsPropagationAnalyzer().
{ TH1D * sigmaPtVsEtaTH1D = new TH1D(type, type, histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TH1D * sigmaPtVsEtaPlusErrTH1D = new TH1D(type+"PlusErr", type+"PlusErr", histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TH1D * sigmaPtVsEtaMinusErrTH1D = new TH1D(type+"MinusErr", type+"MinusErr", histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TH1D * sigmaMassVsEtaTH1D = new TH1D(type, type, histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TH1D * sigmaMassVsEtaPlusErrTH1D = new TH1D(type+"PlusErr", type+"PlusErr", histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TH1D * sigmaMassVsEtaMinusErrTH1D = new TH1D(type+"MinusErr", type+"MinusErr", histo->GetNbinsX(), histo->GetXaxis()->GetXmin(), histo->GetXaxis()->GetXmax()); TCanvas * canvas = new TCanvas("canvas"+type, "canvas"+type, 1000, 800); for( int iBin = 1; iBin <= histo->GetNbinsX(); ++iBin ) { sigmaPtVsEtaTH1D->SetBinContent(iBin, histo->GetBinContent(iBin)); sigmaPtVsEtaPlusErrTH1D->SetBinContent(iBin, histoPlusErr->GetBinContent(iBin)); sigmaPtVsEtaMinusErrTH1D->SetBinContent(iBin, histoMinusErr->GetBinContent(iBin)); } int numBins = sigmaPtVsEtaTH1D->GetNbinsX(); // Draw TGraph with asymmetric errors Double_t * values = sigmaPtVsEtaTH1D->GetArray(); Double_t * valuesPlus = sigmaPtVsEtaPlusErrTH1D->GetArray(); Double_t * valuesMinus = sigmaPtVsEtaMinusErrTH1D->GetArray(); double * posErrors = new double[numBins]; double * negErrors = new double[numBins]; TGraphAsymmErrors * graphAsymmErrors = new TGraphAsymmErrors(sigmaPtVsEtaTH1D); TGraph * graph = new TGraph(sigmaPtVsEtaTH1D); for( int i=1; i<=numBins; ++i ) { // std::cout << "filling " << i << std::endl; posErrors[i-1] = valuesPlus[i] - values[i]; if( valuesMinus[i] < 0 ) negErrors[i-1] = values[i]; else negErrors[i-1] = values[i] - valuesMinus[i]; graphAsymmErrors->SetPointEYlow(i-1, negErrors[i-1]); graphAsymmErrors->SetPointEYhigh(i-1, posErrors[i-1]); } canvas->Draw(); graphAsymmErrors->SetTitle(""); graphAsymmErrors->SetFillColor(kGray); graphAsymmErrors->Draw("A2"); TString title(type); if( type == "Eta" ) title = "#eta"; graphAsymmErrors->GetXaxis()->SetTitle(title); graphAsymmErrors->GetYaxis()->SetTitle("#sigmaPt/Pt"); graph->Draw(); // graph->SetLineColor(kGray); // graph->SetMarkerColor(kBlack); // graph->Draw("AP"); // if( debug_ ) { // sigmaPtVsEtaPlusErrTH1D->SetLineColor(kRed); // sigmaPtVsEtaMinusErrTH1D->SetLineColor(kBlue); // } // else { // sigmaPtVsEtaPlusErrTH1D->SetFillColor(kGray); // sigmaPtVsEtaPlusErrTH1D->SetLineColor(kWhite); // sigmaPtVsEtaMinusErrTH1D->SetFillColor(kWhite); // sigmaPtVsEtaMinusErrTH1D->SetLineColor(kWhite); // } // sigmaPtVsEtaPlusErrTH1D->Draw(); // sigmaPtVsEtaTH1D->Draw("SAME"); // sigmaPtVsEtaMinusErrTH1D->Draw("SAME"); sigmaPtVsEtaPlusErrTH1D->Write(); sigmaPtVsEtaTH1D->Write(); sigmaPtVsEtaMinusErrTH1D->Write(); sigmaPtVsEtaPlusErr_->Write(); sigmaPtVsEta_->Write(); sigmaPtVsEtaMinusErr_->Write(); // Mass sigmaMassVsEtaPlusErrTH1D->Write(); sigmaMassVsEtaTH1D->Write(); sigmaMassVsEtaMinusErrTH1D->Write(); sigmaMassVsEtaPlusErr_->Write(); sigmaMassVsEta_->Write(); sigmaMassVsEtaMinusErr_->Write(); canvas->Write(); }
virtual void ErrorsPropagationAnalyzer::endJob | ( | void | ) | [inline, private, virtual] |
void ErrorsPropagationAnalyzer::fillHistograms | ( | void | ) | [private] |
Definition at line 188 of file ErrorsPropagationAnalyzer.cc.
References gather_cfg::cout, MuScleFitUtils::debug, debug_, MuScleFitUtils::debugMassResol_, errors_, etaMaxCut_, etaMinCut_, i, MuScleFitUtils::massResolution(), maxEvents_, parameters_, ptMaxCut_, ptMinCut_, RootTreeHandler::readTree(), MuScleFitUtils::resfind, resolFitType_, MuScleFitUtils::resolutionFunction, resolutionFunctionService(), resolutionFunctionVecService(), sigmaMassVsEta_, sigmaMassVsEtaMinusErr_, sigmaMassVsEtaPlusErr_, sigmaMassVsPt_, sigmaMassVsPtMinusErr_, sigmaMassVsPtPlusErr_, resolutionFunctionBase< T >::sigmaPt(), resolutionFunctionBase< T >::sigmaPtError(), sigmaPtVsEta_, sigmaPtVsEtaDiff_, sigmaPtVsEtaMinusErr_, sigmaPtVsEtaPlusErr_, sigmaPtVsPt_, sigmaPtVsPtDiff_, sigmaPtVsPtMinusErr_, sigmaPtVsPtPlusErr_, SigmaPtDiff::squaredDiff(), treeFileName_, valueMinusError_, and valuePlusError_.
Referenced by ~ErrorsPropagationAnalyzer().
{ std::cout << "Reading muon pairs from Root Tree in " << treeFileName_ << std::endl; RootTreeHandler rootTreeHandler; typedef std::vector<std::pair<lorentzVector,lorentzVector> > MuonPairVector; MuonPairVector savedPair; rootTreeHandler.readTree(maxEvents_, treeFileName_, &savedPair, 0); // rootTreeHandler.readTree(maxEvents, inputRootTreeFileName_, &savedPair, &(MuScleFitUtils::genPair)); resolutionFunctionBase<std::vector<double> > * resolutionFunctionForVec = resolutionFunctionVecService( resolFitType_ ); MuScleFitUtils::resolutionFunction = resolutionFunctionService( resolFitType_ ); MuScleFitUtils::debugMassResol_ = false; MuScleFitUtils::debug = 0; MuScleFitUtils::resfind = std::vector<int>(6, 0); SigmaPt sigmaPt( parameters_, errors_ ); SigmaPtDiff sigmaPtDiff; // Loop on all the pairs unsigned int i = 0; MuonPairVector::iterator it = savedPair.begin(); std::cout << "Starting loop on " << savedPair.size() << " muons" << std::endl; for( ; it != savedPair.end(); ++it, ++i ) { double pt1 = it->first.pt(); double eta1 = it->first.eta(); double pt2 = it->second.pt(); double eta2 = it->second.eta(); if( debug_ ) { std::cout << "pt1 = " << pt1 << ", eta1 = " << eta1 << ", pt2 = " << pt2 << ", eta2 = " << eta2 << std::endl; } // double fabsEta1 = fabs(eta1); // double fabsEta2 = fabs(eta2); if( pt1 == 0 && pt2 == 0 && eta1 == 0 && eta2 == 0 ) continue; // double sigmaPt1 = sigmaPt( eta1 ); // double sigmaPt2 = sigmaPt( eta2 ); // double sigmaPtPlusErr1 = sigmaPt1 + sigmaPt.sigma(eta1); // double sigmaPtPlusErr2 = sigmaPt2 + sigmaPt.sigma(eta2); // double sigmaPtMinusErr1 = sigmaPt1 - sigmaPt.sigma(eta1); // double sigmaPtMinusErr2 = sigmaPt2 - sigmaPt.sigma(eta2); double sigmaPt1 = resolutionFunctionForVec->sigmaPt( pt1,eta1,parameters_ ); double sigmaPt2 = resolutionFunctionForVec->sigmaPt( pt2,eta2,parameters_ ); double sigmaPtPlusErr1 = sigmaPt1 + resolutionFunctionForVec->sigmaPtError( pt1,eta1,parameters_,errors_); double sigmaPtPlusErr2 = sigmaPt2 + resolutionFunctionForVec->sigmaPtError( pt2,eta2,parameters_,errors_ ); double sigmaPtMinusErr1 = sigmaPt1 - resolutionFunctionForVec->sigmaPtError( pt1,eta1,parameters_,errors_ ); double sigmaPtMinusErr2 = sigmaPt2 - resolutionFunctionForVec->sigmaPtError( pt2,eta2,parameters_,errors_ ); double sigmaMass = MuScleFitUtils::massResolution( it->first, it->second, parameters_ ); double sigmaMassPlusErr = MuScleFitUtils::massResolution( it->first, it->second, valuePlusError_ ); double sigmaMassMinusErr = MuScleFitUtils::massResolution( it->first, it->second, valueMinusError_ ); if( debug_ ) { std::cout << "sigmaPt1 = " << sigmaPt1 << " + " << sigmaPtPlusErr1 << " - " << sigmaPtMinusErr1 << std::endl; std::cout << "sigmaPt2 = " << sigmaPt2 << " + " << sigmaPtPlusErr2 << " - " << sigmaPtMinusErr2 << std::endl; std::cout << "sigmaMass = " << sigmaMass << " + " << sigmaMassPlusErr << " - " << sigmaMassMinusErr << std::endl; } // Protections from nans if( pt1 != pt1 ) continue; if( pt2 != pt2 ) continue; if( eta1 != eta1 ) continue; if( eta2 != eta2 ) continue; if( sigmaPt1 != sigmaPt1 ) continue; if( sigmaPt2 != sigmaPt2 ) continue; if( sigmaPtPlusErr1 != sigmaPtPlusErr1 ) continue; if( sigmaPtPlusErr2 != sigmaPtPlusErr2 ) continue; if( sigmaPtMinusErr1 != sigmaPtMinusErr1 ) continue; if( sigmaPtMinusErr2 != sigmaPtMinusErr2 ) continue; if( sigmaMass != sigmaMass ) continue; if( sigmaMassPlusErr != sigmaMassPlusErr ) continue; if( sigmaMassMinusErr != sigmaMassMinusErr ) continue; std::cout << "Muon pair number " << i << std::endl; // std::cout << "sigmaPt1 = " << sigmaPt1 << ", sigmaPt2 = " << sigmaPt2 << std::endl; // std::cout << "sigmaPtPlusErr1 = " << sigmaPtPlusErr1 << ", sigmaPtMinusErr2 = " << sigmaPtMinusErr2 << std::endl; // std::cout << "sigmaPtMinusErr1 = " << sigmaPtPlusErr1 << ", sigmaPtMinusErr2 = " << sigmaPtMinusErr2 << std::endl; if( (pt1 >= ptMinCut_ && pt1 <= ptMaxCut_) && (fabs(eta1) >= etaMinCut_ && fabs(eta1) <= etaMaxCut_) ) { sigmaPtVsPt_->Fill(pt1, sigmaPt1); sigmaPtVsPtPlusErr_->Fill(pt1, sigmaPtPlusErr1); sigmaPtVsPtMinusErr_->Fill(pt1, sigmaPtMinusErr1); sigmaPtVsPtDiff_->Fill(pt1, sigmaPtDiff.squaredDiff(eta1)); sigmaMassVsPt_->Fill(pt1, sigmaMass); sigmaMassVsPtPlusErr_->Fill(pt1, sigmaMassPlusErr); sigmaMassVsPtMinusErr_->Fill(pt1, sigmaMassMinusErr); sigmaPtVsEta_->Fill(eta1, sigmaPt1); sigmaPtVsEtaPlusErr_->Fill(eta1, sigmaPtPlusErr1); sigmaPtVsEtaMinusErr_->Fill(eta1, sigmaPtMinusErr1); sigmaPtVsEtaDiff_->Fill(eta1, sigmaPtDiff.squaredDiff(eta1)); sigmaMassVsEta_->Fill(eta1, sigmaMass); sigmaMassVsEtaPlusErr_->Fill(eta1, sigmaMassPlusErr); sigmaMassVsEtaMinusErr_->Fill(eta1, sigmaMassMinusErr); } if( (pt2 >= ptMinCut_ && pt2 <= ptMaxCut_) && (fabs(eta2) >= etaMinCut_ && fabs(eta2) <= etaMaxCut_) ) { sigmaPtVsPt_->Fill(pt2, sigmaPt2); sigmaPtVsPtPlusErr_->Fill(pt2, sigmaPtPlusErr2); sigmaPtVsPtMinusErr_->Fill(pt2, sigmaPtMinusErr2); sigmaPtVsPtDiff_->Fill(pt2, sigmaPtDiff.squaredDiff(eta2)); sigmaMassVsPt_->Fill(pt2, sigmaMass); sigmaMassVsPtPlusErr_->Fill(pt2, sigmaMassPlusErr); sigmaMassVsPtMinusErr_->Fill(pt2, sigmaMassMinusErr); sigmaPtVsEta_->Fill(eta2, sigmaPt2); sigmaPtVsEtaPlusErr_->Fill(eta2, sigmaPtPlusErr2); sigmaPtVsEtaMinusErr_->Fill(eta2, sigmaPtMinusErr2); sigmaPtVsEtaDiff_->Fill(eta2, sigmaPtDiff.squaredDiff(eta2)); sigmaMassVsEta_->Fill(eta2, sigmaMass); sigmaMassVsEtaPlusErr_->Fill(eta2, sigmaMassPlusErr); sigmaMassVsEtaMinusErr_->Fill(eta2, sigmaMassMinusErr); } } }
void ErrorsPropagationAnalyzer::fillValueError | ( | ) | [private] |
Definition at line 54 of file ErrorsPropagationAnalyzer.cc.
References errorFactors_, errors_, i, parameters_, valueMinusError_, and valuePlusError_.
Referenced by ErrorsPropagationAnalyzer().
{ valuePlusError_.resize(parameters_.size()); valueMinusError_.resize(parameters_.size()); std::vector<double>::const_iterator parIt = parameters_.begin(); std::vector<double>::const_iterator errIt = errors_.begin(); std::vector<int>::const_iterator errFactorIt = errorFactors_.begin(); int i=0; for( ; parIt != parameters_.end(); ++parIt, ++errIt, ++errFactorIt, ++i ) { valuePlusError_[i] = *parIt + (*errIt)*(*errFactorIt); valueMinusError_[i] = *parIt - (*errIt)*(*errFactorIt); } }
bool ErrorsPropagationAnalyzer::debug_ [private] |
Definition at line 73 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
std::vector<int> ErrorsPropagationAnalyzer::errorFactors_ [private] |
Definition at line 79 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), and fillValueError().
std::vector<double> ErrorsPropagationAnalyzer::errors_ [private] |
Definition at line 78 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and fillValueError().
int ErrorsPropagationAnalyzer::etaBins_ [private] |
Definition at line 70 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::etaMax_ [private] |
Definition at line 72 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::etaMaxCut_ [private] |
Definition at line 75 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
double ErrorsPropagationAnalyzer::etaMin_ [private] |
Definition at line 71 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::etaMinCut_ [private] |
Definition at line 75 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
uint32_t ErrorsPropagationAnalyzer::maxEvents_ [private] |
Definition at line 65 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
TString ErrorsPropagationAnalyzer::outputFileName_ [private] |
Definition at line 66 of file ErrorsPropagationAnalyzer.h.
Referenced by ~ErrorsPropagationAnalyzer().
std::vector<double> ErrorsPropagationAnalyzer::parameters_ [private] |
Definition at line 77 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and fillValueError().
int ErrorsPropagationAnalyzer::ptBins_ [private] |
Definition at line 67 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::ptMax_ [private] |
Definition at line 69 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::ptMaxCut_ [private] |
Definition at line 75 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
double ErrorsPropagationAnalyzer::ptMin_ [private] |
Definition at line 68 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer().
double ErrorsPropagationAnalyzer::ptMinCut_ [private] |
Definition at line 75 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
int ErrorsPropagationAnalyzer::resolFitType_ [private] |
Definition at line 64 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsEta_ [private] |
Definition at line 96 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsEtaMinusErr_ [private] |
Definition at line 98 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsEtaPlusErr_ [private] |
Definition at line 97 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsPt_ [private] |
Definition at line 100 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsPtMinusErr_ [private] |
Definition at line 102 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaMassVsPtPlusErr_ [private] |
Definition at line 101 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsEta_ [private] |
Definition at line 84 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsEtaDiff_ [private] |
Definition at line 92 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsEtaMinusErr_ [private] |
Definition at line 86 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsEtaPlusErr_ [private] |
Definition at line 85 of file ErrorsPropagationAnalyzer.h.
Referenced by drawHistograms(), ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsPt_ [private] |
Definition at line 88 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsPtDiff_ [private] |
Definition at line 93 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsPtMinusErr_ [private] |
Definition at line 90 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TProfile* ErrorsPropagationAnalyzer::sigmaPtVsPtPlusErr_ [private] |
Definition at line 89 of file ErrorsPropagationAnalyzer.h.
Referenced by ErrorsPropagationAnalyzer(), fillHistograms(), and ~ErrorsPropagationAnalyzer().
TString ErrorsPropagationAnalyzer::treeFileName_ [private] |
Definition at line 61 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms().
std::vector<double> ErrorsPropagationAnalyzer::valueMinusError_ [private] |
Definition at line 82 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms(), and fillValueError().
std::vector<double> ErrorsPropagationAnalyzer::valuePlusError_ [private] |
Definition at line 81 of file ErrorsPropagationAnalyzer.h.
Referenced by fillHistograms(), and fillValueError().