CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
PtHatEmpReweightUserHook Class Reference

#include <ReweightUserHooks.h>

Inheritance diagram for PtHatEmpReweightUserHook:

Public Member Functions

virtual double biasSelectionBy (const Pythia8::SigmaProcess *sigmaProcessPtr, const Pythia8::PhaseSpace *phaseSpacePtr, bool inEvent)
 
virtual bool canBiasSelection ()
 
 PtHatEmpReweightUserHook ()
 
virtual ~PtHatEmpReweightUserHook ()
 

Private Attributes

std::vector< double > p
 
std::function< double(double)> sigma
 

Detailed Description

Definition at line 29 of file ReweightUserHooks.h.

Constructor & Destructor Documentation

PtHatEmpReweightUserHook::PtHatEmpReweightUserHook ( )
inline

Definition at line 32 of file ReweightUserHooks.h.

References cmsBatch::log, AlCaHLTBitMon_ParallelJobs::p, funct::pow(), and x.

33  {
34  p = {5.3571961909810e+13,1.0907678218282e+01,-2.5898069229451e+00,-5.1575514014931e-01,5.5951279807561e-02,3.5e+02};
35  sigma = [this](double x) -> double { return (p[0]*pow(x,p[2]+p[3]*log(0.01*x)+p[4]*pow(log(0.01*x),2))*pow(1-2*x/(13000.+p[5]),p[1]))*x; };
36  }
std::function< double(double)> sigma
std::vector< double > p
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
virtual PtHatEmpReweightUserHook::~PtHatEmpReweightUserHook ( )
inlinevirtual

Definition at line 37 of file ReweightUserHooks.h.

37 {}

Member Function Documentation

virtual double PtHatEmpReweightUserHook::biasSelectionBy ( const Pythia8::SigmaProcess *  sigmaProcessPtr,
const Pythia8::PhaseSpace *  phaseSpacePtr,
bool  inEvent 
)
inlinevirtual

Definition at line 41 of file ReweightUserHooks.h.

43  {
44  //the variable selBias of the base class should be used;
45  if ((sigmaProcessPtr->nFinal() == 2)) {
46  selBias = 1.0/sigma(phaseSpacePtr->pTHat());
47  return selBias;
48  }
49  selBias = 1.;
50  return selBias;
51  }
std::function< double(double)> sigma
virtual bool PtHatEmpReweightUserHook::canBiasSelection ( )
inlinevirtual

Definition at line 39 of file ReweightUserHooks.h.

39 { return true; }

Member Data Documentation

std::vector<double> PtHatEmpReweightUserHook::p
private

Definition at line 54 of file ReweightUserHooks.h.

Referenced by Electron.Electron::ptErr().

std::function<double(double)> PtHatEmpReweightUserHook::sigma
private

Definition at line 55 of file ReweightUserHooks.h.