CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
Exhume::CrossSection Class Referenceabstract

#include <CrossSection.h>

Inheritance diagram for Exhume::CrossSection:
Exhume::Dummy Exhume::Higgs Exhume::TwoSpace Exhume::DiPhoton Exhume::GG Exhume::QQ

Public Member Functions

double AlphaS (const double &)
 
 CrossSection (const edm::ParameterSet &)
 
double Differential ()
 
double GetB ()
 
double GetEta ()
 
std::map< double, double > Getfg2Map ()
 
std::string GetName ()
 
std::vector< ParticleGetPartons ()
 
double GetPhi1 ()
 
double GetPhi2 ()
 
CLHEP::HepLorentzVector GetProton1 ()
 
CLHEP::HepLorentzVector GetProton2 ()
 
double GetRg (const double &x_, const double &Qt)
 
double GetRoot_s ()
 
double GetsHat ()
 
double GetSqrtsHat ()
 
double Gett1 ()
 
double Gett2 ()
 
double Getx1 ()
 
double Getx2 ()
 
void Hadronise ()
 
virtual void MaximiseSubParameters ()=0
 
void SetKinematics (const double &, const double &, const double &, const double &, const double &, const double &)
 
virtual void SetPartons ()=0
 
void SetRandomEngine (CLHEP::HepRandomEngine *engine)
 
virtual void SetSubParameters ()=0
 
virtual double SubParameterRange ()=0
 
virtual double SubParameterWeight ()=0
 
virtual ~CrossSection ()
 

Protected Member Functions

std::complex< double > f (const double &)
 
std::complex< double > F0 (const double &)
 
std::complex< double > Fsf (const double &)
 

Protected Attributes

double AlphaEw
 
double BottomMass
 
CLHEP::HepLorentzVector CentralVector
 
double CharmMass
 
double ey
 
int FNAL_or_LHC
 
double Gev2fb
 
double gw
 
double HiggsMass
 
double HiggsVev
 
double Invs
 
double InvsHat
 
double InvsHat2
 
double InvSqrtsHat
 
double Invsx1x2
 
double InvV1MinusV2
 
double LambdaW
 
std::string lhapdfSetPath_
 
double LnMju2
 
double Mju
 
double Mju2
 
double MuonMass
 
std::string Name
 
CLHEP::HepLorentzVector P1In
 
CLHEP::HepLorentzVector P2In
 
std::vector< ParticlePartons
 
double Phi1
 
double Phi2
 
double PPhi
 
CLHEP::HepLorentzVector Proton1
 
CLHEP::HepLorentzVector Proton2
 
double Pt1
 
double Pt1DotPt2
 
double Pt2
 
CLHEP::HepRandomEngine * randomEngine
 
double root_s
 
double s
 
double sHat
 
double sHat2
 
double SqrtsHat
 
double StrangeMass
 
double t1
 
double t2
 
double TauMass
 
double TopMass
 
double WMass
 
double x1
 
double x1p
 
double x1x2
 
double x2
 
double x2p
 
double y
 
double ZMass
 

Private Member Functions

void AlphaSInit ()
 
double Fg1Fg2 (const double &, const double &, const double &)
 
double Fg1Fg2 (const int &, const double &, const double &)
 
double Fg_Qt2 (const double &Qt2_, const double &x_, const double &xp_)
 
template<typename T_ >
void insert (const std::string _name_, const T_ _x_)
 
double Lumi ()
 
double Lumi_ ()
 
void LumiInit ()
 
void NoMem ()
 
void ReadCard (const std::string &)
 
double Rg1Rg2 (const double &)
 
double Rg_ (const double &, double)
 
double Splitting (const double &)
 
virtual double SubProcess ()=0
 
double T (const double &)
 
double TFast (const double &)
 
double Txg (const double &, const double &)
 

Private Attributes

double * _AlphaS
 
double * _CfAs_2PIRg
 
double * _KtHigh
 
double * _KtLow
 
double * _NcAs_2PI
 
double * _Qt
 
double * _Qt2
 
double ASConst
 
double ASFreeze
 
double B
 
double Cf_2PIRg
 
std::map< double, double > fg2Map
 
double Freeze
 
double Inv2PI
 
double Inv3
 
double InvMaxQt2
 
double InvMidQt2
 
double InvMidQt4
 
double LambdaQCD
 
unsigned int LumAccuracy
 
double LumConst
 
int LumNSimps
 
int LumNSimps_1
 
unsigned int LumNStart
 
double * LumSimpsFunc
 
double LumSimpsIncr
 
double MidQt2
 
double MinQt2
 
double Nc_2PI
 
double PDF
 
std::map< std::string,
PConstVoidPair
PMap
 
int Proton1Id
 
int Proton2Id
 
double Rg
 
bool RgBegin
 
std::map< double, std::map
< double, double > >::iterator 
RgHigh [2]
 
bool RgInterpolate [2]
 
std::map< double, std::map
< double, double > >::iterator 
RgLow [2]
 
std::map< double, std::map
< double, double > > 
RgMap2d
 
double Survive
 
bool TBegin
 
double TConst
 
double * TFunc
 
bool TInterpolate
 
std::map< double, std::map
< double, double > > 
TMap2d
 
std::map< double, std::map
< double, double > >::iterator 
TMjuHigh
 
std::map< double, std::map
< double, double > >::iterator 
TMjuLow
 
int Tn
 
int Tn_1
 
std::map< const char *, char * > TypeMap
 

Detailed Description

Definition at line 43 of file CrossSection.h.

Constructor & Destructor Documentation

Exhume::CrossSection::CrossSection ( const edm::ParameterSet )
virtual Exhume::CrossSection::~CrossSection ( )
virtual

Member Function Documentation

double Exhume::CrossSection::AlphaS ( const double &  )
void Exhume::CrossSection::AlphaSInit ( )
private
double Exhume::CrossSection::Differential ( )
inline

Definition at line 60 of file CrossSection.h.

References B, funct::exp(), InvSqrtsHat, Lumi(), SubProcess(), t1, t2, x1, and x2.

60  {
61  if (x1 > 1.0 || x2 > 1.0) {
62  return (0.0);
63  }
64 
65  //return( SubProcess() );
66 
67  //Factor of 2/sqrt(sHat) because we integrate dM not dln(M^2)
68  return (2.0 * InvSqrtsHat * Lumi() * SubProcess() * exp(B * (t1 + t2)));
69  };
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
virtual double SubProcess()=0
std::complex<double> Exhume::CrossSection::f ( const double &  )
protected
std::complex<double> Exhume::CrossSection::F0 ( const double &  )
protected
double Exhume::CrossSection::Fg1Fg2 ( const double &  ,
const double &  ,
const double &   
)
private
double Exhume::CrossSection::Fg1Fg2 ( const int &  ,
const double &  ,
const double &   
)
private
double Exhume::CrossSection::Fg_Qt2 ( const double &  Qt2_,
const double &  x_,
const double &  xp_ 
)
inlineprivate

Definition at line 113 of file CrossSection.h.

References Txg().

113  {
114  double grad = 5.0 * (Txg(1.1 * Qt2_, x_) - Txg(0.9 * Qt2_, x_)) / Qt2_;
115 
116  //protect from Qt2 == 0
117 
118  if (grad != grad) {
119  return (0.0);
120  }
121  return (grad);
122  };
double Txg(const double &, const double &)
std::complex<double> Exhume::CrossSection::Fsf ( const double &  )
protected
double Exhume::CrossSection::GetB ( )
inline

Definition at line 72 of file CrossSection.h.

References B.

72 { return (B); };
double Exhume::CrossSection::GetEta ( )
inline

Definition at line 96 of file CrossSection.h.

References y.

96 { return (y); };
std::map<double, double> Exhume::CrossSection::Getfg2Map ( )
inline

Definition at line 76 of file CrossSection.h.

References fg2Map.

76 { return (fg2Map); };
std::map< double, double > fg2Map
Definition: CrossSection.h:170
std::string Exhume::CrossSection::GetName ( )
inline

Definition at line 105 of file CrossSection.h.

References Name.

Referenced by gen::ExhumeHadronizer::statistics().

105 { return (Name); };
std::vector<Particle> Exhume::CrossSection::GetPartons ( )
inline

Definition at line 82 of file CrossSection.h.

References Partons.

82 { return (Partons); };
std::vector< Particle > Partons
Definition: CrossSection.h:217
double Exhume::CrossSection::GetPhi1 ( )
inline

Definition at line 98 of file CrossSection.h.

References Phi1.

98 { return (Phi1); };
double Exhume::CrossSection::GetPhi2 ( )
inline

Definition at line 100 of file CrossSection.h.

References Phi2.

100 { return (Phi2); };
CLHEP::HepLorentzVector Exhume::CrossSection::GetProton1 ( )
inline

Definition at line 78 of file CrossSection.h.

References Proton1.

78 { return (Proton1); };
CLHEP::HepLorentzVector Proton1
Definition: CrossSection.h:209
CLHEP::HepLorentzVector Exhume::CrossSection::GetProton2 ( )
inline

Definition at line 80 of file CrossSection.h.

References Proton2.

80 { return (Proton2); };
CLHEP::HepLorentzVector Proton2
Definition: CrossSection.h:209
double Exhume::CrossSection::GetRg ( const double &  x_,
const double &  Qt 
)
inline

Definition at line 57 of file CrossSection.h.

References Rg_().

57 { return (Rg_(x_, Qt)); };
double Rg_(const double &, double)
double Exhume::CrossSection::GetRoot_s ( )
inline

Definition at line 74 of file CrossSection.h.

References root_s.

74 { return (root_s); };
double Exhume::CrossSection::GetsHat ( )
inline

Definition at line 92 of file CrossSection.h.

References sHat.

92 { return (sHat); };
double Exhume::CrossSection::GetSqrtsHat ( )
inline

Definition at line 94 of file CrossSection.h.

References SqrtsHat.

94 { return (SqrtsHat); };
double Exhume::CrossSection::Gett1 ( )
inline

Definition at line 88 of file CrossSection.h.

References t1.

88 { return (t1); };
double Exhume::CrossSection::Gett2 ( )
inline

Definition at line 90 of file CrossSection.h.

References t2.

90 { return (t2); };
double Exhume::CrossSection::Getx1 ( )
inline

Definition at line 84 of file CrossSection.h.

References x1.

84 { return (x1); };
double Exhume::CrossSection::Getx2 ( )
inline

Definition at line 86 of file CrossSection.h.

References x2.

86 { return (x2); };
void Exhume::CrossSection::Hadronise ( )
template<typename T_ >
void Exhume::CrossSection::insert ( const std::string  _name_,
const T_  _x_ 
)
inlineprivate

Definition at line 125 of file CrossSection.h.

References mergeVDriftHistosByStation::name, and PMap.

Referenced by BeautifulSoup.PageElement::_invert(), and SequenceTypes.Schedule::_replaceIfHeldDirectly().

125  {
126  PMap.insert(std::pair<std::string, PConstVoidPair>(_name_, PConstVoidPair(typeid(_x_).name(), _x_)));
127  }
std::pair< const char *, const void * > PConstVoidPair
Definition: CrossSection.h:41
std::map< std::string, PConstVoidPair > PMap
Definition: CrossSection.h:168
double Exhume::CrossSection::Lumi ( )
private

Referenced by Differential().

double Exhume::CrossSection::Lumi_ ( )
private
void Exhume::CrossSection::LumiInit ( )
private
virtual void Exhume::CrossSection::MaximiseSubParameters ( )
pure virtual
void Exhume::CrossSection::NoMem ( )
private
void Exhume::CrossSection::ReadCard ( const std::string &  )
private
double Exhume::CrossSection::Rg1Rg2 ( const double &  )
private
double Exhume::CrossSection::Rg_ ( const double &  ,
double   
)
private

Referenced by GetRg().

void Exhume::CrossSection::SetKinematics ( const double &  ,
const double &  ,
const double &  ,
const double &  ,
const double &  ,
const double &   
)
virtual void Exhume::CrossSection::SetPartons ( )
pure virtual
void Exhume::CrossSection::SetRandomEngine ( CLHEP::HepRandomEngine *  engine)
inline

Definition at line 55 of file CrossSection.h.

References randomEngine.

Referenced by Exhume::Event::SetRandomEngine().

55 { randomEngine = engine; }
CLHEP::HepRandomEngine * randomEngine
Definition: CrossSection.h:224
virtual void Exhume::CrossSection::SetSubParameters ( )
pure virtual
double Exhume::CrossSection::Splitting ( const double &  )
private
virtual double Exhume::CrossSection::SubParameterRange ( )
pure virtual
virtual double Exhume::CrossSection::SubParameterWeight ( )
pure virtual
virtual double Exhume::CrossSection::SubProcess ( )
privatepure virtual
double Exhume::CrossSection::T ( const double &  )
private
double Exhume::CrossSection::TFast ( const double &  )
private
double Exhume::CrossSection::Txg ( const double &  ,
const double &   
)
private

Referenced by Fg_Qt2().

Member Data Documentation

double * Exhume::CrossSection::_AlphaS
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_CfAs_2PIRg
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_KtHigh
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_KtLow
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_NcAs_2PI
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_Qt
private

Definition at line 164 of file CrossSection.h.

double * Exhume::CrossSection::_Qt2
private

Definition at line 164 of file CrossSection.h.

double Exhume::CrossSection::AlphaEw
protected

Definition at line 197 of file CrossSection.h.

double Exhume::CrossSection::ASConst
private

Definition at line 157 of file CrossSection.h.

double Exhume::CrossSection::ASFreeze
private

Definition at line 157 of file CrossSection.h.

double Exhume::CrossSection::B
private

Definition at line 153 of file CrossSection.h.

Referenced by Differential(), and GetB().

double Exhume::CrossSection::BottomMass
protected

Definition at line 199 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::CentralVector
protected

Definition at line 208 of file CrossSection.h.

double Exhume::CrossSection::Cf_2PIRg
private

Definition at line 166 of file CrossSection.h.

double Exhume::CrossSection::CharmMass
protected

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::ey
protected

Definition at line 194 of file CrossSection.h.

std::map<double, double> Exhume::CrossSection::fg2Map
private

Definition at line 170 of file CrossSection.h.

Referenced by Getfg2Map().

int Exhume::CrossSection::FNAL_or_LHC
protected

Definition at line 205 of file CrossSection.h.

double Exhume::CrossSection::Freeze
private

Definition at line 153 of file CrossSection.h.

double Exhume::CrossSection::Gev2fb
protected

Definition at line 220 of file CrossSection.h.

double Exhume::CrossSection::gw
protected

Definition at line 197 of file CrossSection.h.

double Exhume::CrossSection::HiggsMass
protected

Definition at line 203 of file CrossSection.h.

Referenced by Exhume::Higgs::Propagator().

double Exhume::CrossSection::HiggsVev
protected

Definition at line 197 of file CrossSection.h.

double Exhume::CrossSection::Inv2PI
private

Definition at line 166 of file CrossSection.h.

double Exhume::CrossSection::Inv3
private

Definition at line 180 of file CrossSection.h.

double Exhume::CrossSection::InvMaxQt2
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt2
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt4
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::Invs
protected

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::InvsHat
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::InvsHat2
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::InvSqrtsHat
protected

Definition at line 194 of file CrossSection.h.

Referenced by Differential().

double Exhume::CrossSection::Invsx1x2
protected

Definition at line 218 of file CrossSection.h.

double Exhume::CrossSection::InvV1MinusV2
protected

Definition at line 218 of file CrossSection.h.

double Exhume::CrossSection::LambdaQCD
private

Definition at line 153 of file CrossSection.h.

double Exhume::CrossSection::LambdaW
protected

Definition at line 197 of file CrossSection.h.

std::string Exhume::CrossSection::lhapdfSetPath_
protected

Definition at line 222 of file CrossSection.h.

double Exhume::CrossSection::LnMju2
protected

Definition at line 194 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumAccuracy
private

Definition at line 162 of file CrossSection.h.

double Exhume::CrossSection::LumConst
private

Definition at line 165 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps
private

Definition at line 163 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps_1
private

Definition at line 163 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumNStart
private

Definition at line 162 of file CrossSection.h.

double* Exhume::CrossSection::LumSimpsFunc
private

Definition at line 164 of file CrossSection.h.

double Exhume::CrossSection::LumSimpsIncr
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::MidQt2
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::MinQt2
private

Definition at line 161 of file CrossSection.h.

double Exhume::CrossSection::Mju
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::Mju2
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::MuonMass
protected

Definition at line 201 of file CrossSection.h.

std::string Exhume::CrossSection::Name
protected

Definition at line 185 of file CrossSection.h.

Referenced by GetName().

double Exhume::CrossSection::Nc_2PI
private

Definition at line 166 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::P1In
protected

Definition at line 209 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::P2In
protected

Definition at line 209 of file CrossSection.h.

std::vector<Particle> Exhume::CrossSection::Partons
protected

Definition at line 217 of file CrossSection.h.

Referenced by GetPartons().

double Exhume::CrossSection::PDF
private

Definition at line 155 of file CrossSection.h.

double Exhume::CrossSection::Phi1
protected

Definition at line 194 of file CrossSection.h.

Referenced by GetPhi1().

double Exhume::CrossSection::Phi2
protected

Definition at line 194 of file CrossSection.h.

Referenced by GetPhi2().

std::map<std::string, PConstVoidPair> Exhume::CrossSection::PMap
private

Definition at line 168 of file CrossSection.h.

Referenced by insert().

double Exhume::CrossSection::PPhi
protected

Definition at line 194 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::Proton1
protected

Definition at line 209 of file CrossSection.h.

Referenced by GetProton1().

int Exhume::CrossSection::Proton1Id
private

Definition at line 182 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::Proton2
protected

Definition at line 209 of file CrossSection.h.

Referenced by GetProton2().

int Exhume::CrossSection::Proton2Id
private

Definition at line 182 of file CrossSection.h.

double Exhume::CrossSection::Pt1
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::Pt1DotPt2
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::Pt2
protected

Definition at line 194 of file CrossSection.h.

CLHEP::HepRandomEngine* Exhume::CrossSection::randomEngine
protected

Definition at line 224 of file CrossSection.h.

Referenced by SetRandomEngine().

double Exhume::CrossSection::Rg
private

Definition at line 153 of file CrossSection.h.

bool Exhume::CrossSection::RgBegin
private

Definition at line 151 of file CrossSection.h.

std::map<double, std::map<double, double> >::iterator Exhume::CrossSection::RgHigh[2]
private

Definition at line 150 of file CrossSection.h.

bool Exhume::CrossSection::RgInterpolate[2]
private

Definition at line 151 of file CrossSection.h.

std::map<double, std::map<double, double> >::iterator Exhume::CrossSection::RgLow[2]
private

Definition at line 150 of file CrossSection.h.

std::map<double, std::map<double, double> > Exhume::CrossSection::RgMap2d
private

Definition at line 149 of file CrossSection.h.

double Exhume::CrossSection::root_s
protected

Definition at line 206 of file CrossSection.h.

Referenced by GetRoot_s().

double Exhume::CrossSection::s
protected

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::sHat
protected
double Exhume::CrossSection::sHat2
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::SqrtsHat
protected

Definition at line 194 of file CrossSection.h.

Referenced by GetSqrtsHat().

double Exhume::CrossSection::StrangeMass
protected

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::Survive
private

Definition at line 153 of file CrossSection.h.

double Exhume::CrossSection::t1
protected

Definition at line 194 of file CrossSection.h.

Referenced by Differential(), and Gett1().

double Exhume::CrossSection::t2
protected

Definition at line 194 of file CrossSection.h.

Referenced by Differential(), and Gett2().

double Exhume::CrossSection::TauMass
protected

Definition at line 201 of file CrossSection.h.

bool Exhume::CrossSection::TBegin
private

Definition at line 140 of file CrossSection.h.

double Exhume::CrossSection::TConst
private

Definition at line 174 of file CrossSection.h.

double* Exhume::CrossSection::TFunc
private

Definition at line 176 of file CrossSection.h.

bool Exhume::CrossSection::TInterpolate
private

Definition at line 140 of file CrossSection.h.

std::map<double, std::map<double, double> > Exhume::CrossSection::TMap2d
private

Definition at line 141 of file CrossSection.h.

std::map<double, std::map<double, double> >::iterator Exhume::CrossSection::TMjuHigh
private

Definition at line 142 of file CrossSection.h.

std::map<double, std::map<double, double> >::iterator Exhume::CrossSection::TMjuLow
private

Definition at line 142 of file CrossSection.h.

int Exhume::CrossSection::Tn
private

Definition at line 175 of file CrossSection.h.

int Exhume::CrossSection::Tn_1
private

Definition at line 175 of file CrossSection.h.

double Exhume::CrossSection::TopMass
protected

Definition at line 199 of file CrossSection.h.

std::map<const char *, char *> Exhume::CrossSection::TypeMap
private

Definition at line 169 of file CrossSection.h.

double Exhume::CrossSection::WMass
protected

Definition at line 203 of file CrossSection.h.

double Exhume::CrossSection::x1
protected
double Exhume::CrossSection::x1p
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::x1x2
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::x2
protected
double Exhume::CrossSection::x2p
protected

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::y
protected
double Exhume::CrossSection::ZMass
protected

Definition at line 203 of file CrossSection.h.