4 #include "generator/pythia6.h"
6 #include "CmsLikeJetSmear.h"
10 CmsLikeJetSmear::CmsLikeJetSmear(
const bool makePtPositive,
const bool runEfficiency)
11 : m_ecalStochasticTerm(0.028),
12 m_ecalNoiseTerm(0.125),
13 m_ecalConstantTerm(0.003),
14 m_hcalStochasticTerm(0.85),
16 m_hcalConstantTerm(0.075),
17 m_trackPtResolution(0.02),
18 m_angularResolutionPhoton(0.005),
19 m_angularResolutionNeutralHadron(0.025),
20 m_angularResolutionTrack(0.0015),
21 m_onlyPositivePt(makePtPositive),
22 m_runEfficiency(runEfficiency),
27 void CmsLikeJetSmear::processPhoton(
const PseudoJet& in,
const StabilityUserInfo &info,
28 ParticleCollection* out
31 const double sigmaPt = ecalEtUncertainty(in.pt());
32 PseudoJet newP4 = smear4Mom(in, sigmaPt, m_angularResolutionPhoton,
37 out->push_back( newP4 );
40 void CmsLikeJetSmear::processTrack(
const PseudoJet& in,
const StabilityUserInfo &info,
41 ParticleCollection* out
44 const double sigmaPt = m_trackPtResolution*in.pt();
45 PseudoJet newP4 = smear4Mom(in, sigmaPt, m_angularResolutionTrack,
50 out->push_back( newP4 );
53 void CmsLikeJetSmear::processNeutralHadron(
const PseudoJet& in,
const StabilityUserInfo &info,
54 ParticleCollection* out
57 const double sigmaPt = hcalEtUncertainty(in.pt());
58 PseudoJet newP4 = smear4Mom(in, sigmaPt,
59 m_angularResolutionNeutralHadron,
64 out->push_back( newP4 );