4 #include "TGraphErrors.h" 6 #include "TLorentzVector.h" 84 std::cout <<
"Hello from FactorizedJetCorrectorDemo" << std::endl;
90 std::vector<JetCorrectorParameters> params;
105 std::cout <<
"Making JEC vs Eta and pT" << std::endl;
110 P4.SetPtEtaPhiE(rawPt,eta,0,0);
111 corrector->setJetEta( eta );
112 corrector->setJetPt( rawPt );
113 corrector->setJetE( P4.E() );
114 jec = corrector->getCorrection();
119 std::cout <<
"Making JEC vs pT for different etas" << std::endl;
121 for(
unsigned ieta=0;ieta<
mVEta.size();ieta++)
129 P4.SetPtEtaPhiE(rawPt,eta,0,0);
130 corrector->setJetEta( eta );
131 corrector->setJetPt( rawPt );
132 corrector->setJetE( P4.E() );
133 jec = corrector->getCorrection();
138 std::cout<<rawPt<<
" "<<eta<<
" "<<jec<<
" "<<rawPt*jec<<std::endl;
142 std::cout <<
"Making JEC vs eta for different pTs" << std::endl;
144 for(
unsigned ipt=0;ipt<
mVPt.size();ipt++)
155 while(e > 0.0001 && nLoop < 10)
157 P4.SetPtEtaPhiE(rawPt,eta,0,0);
159 corrector->setJetEta( eta );
160 corrector->setJetPt( rawPt );
161 corrector->setJetE( P4.E() );
162 jec = corrector->getCorrection();
164 e = fabs(tmp-corPt)/corPt;
170 P4.SetPtEtaPhiE(rawPt,eta,0,0);
172 corrector->setJetEta( eta );
173 corrector->setJetPt( rawPt );
174 corrector->setJetE( P4.E() );
175 jec = corrector->getCorrection();
178 std::cout<<rawPt<<
" "<<eta<<
" "<<jec<<
" "<<rawPt*jec<<std::endl;
189 throw cms::Exception(
"FactorizedJetCorrectorDemo",
"Too many graph points !!! Maximum is 1000 !!!");
190 if (
mVEta.size() > 100)
191 throw cms::Exception(
"FactorizedJetCorrectorDemo",
"Too many eta values !!! Maximum is 100 !!!");
192 if (
mVPt.size() > 100)
193 throw cms::Exception(
"FactorizedJetCorrectorDemo",
"Too many pt values !!! Maximum is 100 !!!");
203 for(
unsigned ipt=0;ipt<
mVPt.size();ipt++)
206 sprintf(name,
"JEC_vs_Eta_CorPt%1.1f",
mVPt[ipt]);
209 sprintf(name,
"UNC_vs_Eta_CorPt%1.1f",
mVPt[ipt]);
212 for(
unsigned ieta=0;ieta<
mVEta.size();ieta++)
215 sprintf(name,
"JEC_vs_RawPt_eta%1.1f",
mVEta[ieta]);
218 sprintf(name,
"JEC_vs_CorPt_eta%1.1f",
mVEta[ieta]);
221 sprintf(name,
"UNC_vs_CorPt_eta%1.1f",
mVEta[ieta]);
T getParameter(std::string const &) const
std::string mJetCorService
T getUntrackedParameter(std::string const &, T const &) const
TGraphErrors * mVGraphEta[100]
double vjecUnc_pt[100][1000]
std::vector< std::string > mLevels
T * make(const Args &...args) const
make new ROOT object
double vUnc_eta[100][1000]
edm::Service< TFileService > fs
~FactorizedJetCorrectorDemo() override
#define DEFINE_FWK_MODULE(type)
double vjecUnc_eta[100][1000]
reco::Particle::LorentzVector LorentzVector
std::vector< double > mVEta
void analyze(const edm::Event &, const edm::EventSetup &) override
double vUnc_pt[100][1000]
TGraphErrors * mVGraphCorPt[100]
std::vector< double > mVPt
FactorizedJetCorrectorDemo(const edm::ParameterSet &)
double vex_eta[100][1000]
double vjec_eta[100][1000]
std::string mUncertaintyFile
std::vector< std::vector< double > > tmp
double vjec_pt[100][1000]
TGraphErrors * mVGraphPt[100]
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Power< A, B >::type pow(const A &a, const B &b)
std::string mUncertaintyTag