CMS 3D CMS Logo

Exhume::CrossSection Class Reference

#include <GeneratorInterface/ExhumeInterface/interface/CrossSection.h>

Inheritance diagram for Exhume::CrossSection:

Exhume::Dummy Exhume::Higgs Exhume::TwoSpace Exhume::DiPhoton Exhume::GG Exhume::QQ

List of all members.

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 ()
HepLorentzVector GetProton1 ()
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
virtual void SetSubParameters ()=0
virtual double SubParameterRange ()=0
virtual double SubParameterWeight ()=0
virtual ~CrossSection ()

Protected Member Functions

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

Protected Attributes

double AlphaEw
double BottomMass
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
HepLorentzVector P1In
HepLorentzVector P2In
std::vector< ParticlePartons
double Phi1
double Phi2
double PPhi
HepLorentzVector Proton1
HepLorentzVector Proton2
double Pt1
double Pt1DotPt2
double Pt2
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 int &, const double &, const double &)
double Fg1Fg2 (const double &, 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 40 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 funct::exp(), InvSqrtsHat, Lumi(), SubProcess(), t1, t2, x1, and x2.

00060                                 {
00061 
00062       if(x1>1.0 || x2 > 1.0){
00063         return(0.0);
00064       }
00065 
00066       //return( SubProcess() );
00067 
00068       //Factor of 2/sqrt(sHat) because we integrate dM not dln(M^2)
00069       return( 2.0 * InvSqrtsHat * Lumi() * SubProcess() * exp(B*(t1 + t2))); 
00070     };

complex<double> Exhume::CrossSection::f ( const double &   )  [protected]

complex<double> Exhume::CrossSection::F0 ( const double &   )  [protected]

double Exhume::CrossSection::Fg1Fg2 ( const int ,
const double &  ,
const double &   
) [private]

double Exhume::CrossSection::Fg1Fg2 ( const double &  ,
const double &  ,
const double &   
) [private]

double Exhume::CrossSection::Fg_Qt2 ( const double &  Qt2_,
const double &  x_,
const double &  xp_ 
) [inline, private]

Definition at line 149 of file CrossSection.h.

References Txg().

00150                                                              {
00151 
00152       double grad = 5.0 * (Txg(1.1 * Qt2_, x_) - Txg(0.9 * Qt2_, x_) ) / Qt2_;
00153 
00154       //protect from Qt2 == 0
00155 
00156       if(grad!=grad){
00157 
00158         return(0.0);
00159       }
00160       return(grad);    
00161     };

complex<double> Exhume::CrossSection::Fsf ( const double &   )  [protected]

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

double Exhume::CrossSection::GetB (  )  [inline]

Definition at line 73 of file CrossSection.h.

00073                         {
00074       return(B);
00075     };

double Exhume::CrossSection::GetEta (  )  [inline]

Definition at line 121 of file CrossSection.h.

References y.

00121                           {
00122       return(y);
00123     };

std::map<double,double> Exhume::CrossSection::Getfg2Map (  )  [inline]

Definition at line 81 of file CrossSection.h.

References fg2Map.

00081                                             {
00082       return(fg2Map);
00083     };

std::string Exhume::CrossSection::GetName (  )  [inline]

Definition at line 138 of file CrossSection.h.

References Name.

Referenced by edm::ExhumeSource::endRun(), and edm::ExhumeSource::produce().

00138                               {
00139       return(Name);
00140     };

std::vector<Particle> Exhume::CrossSection::GetPartons (  )  [inline]

Definition at line 93 of file CrossSection.h.

References Partons.

00093                                            {
00094       return(Partons);
00095     };

double Exhume::CrossSection::GetPhi1 (  )  [inline]

Definition at line 125 of file CrossSection.h.

References Phi1.

00125                            {
00126       return(Phi1);
00127     };

double Exhume::CrossSection::GetPhi2 (  )  [inline]

Definition at line 129 of file CrossSection.h.

References Phi2.

00129                            {
00130       return(Phi2);
00131     };

HepLorentzVector Exhume::CrossSection::GetProton1 (  )  [inline]

Definition at line 85 of file CrossSection.h.

References Proton1.

00085                                         {
00086       return(Proton1);
00087     };

HepLorentzVector Exhume::CrossSection::GetProton2 (  )  [inline]

Definition at line 89 of file CrossSection.h.

References Proton2.

00089                                         {
00090       return(Proton2);
00091     };

double Exhume::CrossSection::GetRg ( const double &  x_,
const double &  Qt 
) [inline]

Definition at line 54 of file CrossSection.h.

References Rg_().

00054                                                            {
00055 
00056       return(Rg_(x_, Qt) );
00057     };

double Exhume::CrossSection::GetRoot_s (  )  [inline]

Definition at line 77 of file CrossSection.h.

References root_s.

00077                              {
00078       return(root_s);
00079     };

double Exhume::CrossSection::GetsHat (  )  [inline]

Definition at line 113 of file CrossSection.h.

References sHat.

00113                            {
00114       return(sHat);
00115     };

double Exhume::CrossSection::GetSqrtsHat (  )  [inline]

Definition at line 117 of file CrossSection.h.

References SqrtsHat.

00117                                {
00118       return(SqrtsHat);
00119     };

double Exhume::CrossSection::Gett1 (  )  [inline]

Definition at line 105 of file CrossSection.h.

References t1.

00105                          {
00106       return(t1);
00107     };

double Exhume::CrossSection::Gett2 (  )  [inline]

Definition at line 109 of file CrossSection.h.

References t2.

00109                          {
00110       return(t2);
00111     };

double Exhume::CrossSection::Getx1 (  )  [inline]

Definition at line 97 of file CrossSection.h.

References x1.

00097                          {
00098       return(x1);
00099     };

double Exhume::CrossSection::Getx2 (  )  [inline]

Definition at line 101 of file CrossSection.h.

References x2.

00101                          {
00102       return(x2);
00103     };

void Exhume::CrossSection::Hadronise (  ) 

Referenced by edm::ExhumeSource::produce().

template<typename T_>
void Exhume::CrossSection::insert ( const std::string  _name_,
const T_  _x_ 
) [inline, private]

Definition at line 164 of file CrossSection.h.

References name, and PMap.

00164                                                             {
00165       PMap.insert
00166         (std::pair<std::string,PConstVoidPair>
00167          (_name_,PConstVoidPair(typeid(_x_).name(),_x_)));
00168     }

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]

Implemented in Exhume::Dummy, Exhume::Higgs, and Exhume::TwoSpace.

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]

Implemented in Exhume::Dummy, Exhume::Higgs, and Exhume::TwoSpace.

virtual void Exhume::CrossSection::SetSubParameters (  )  [pure virtual]

Implemented in Exhume::Dummy, Exhume::Higgs, and Exhume::TwoSpace.

double Exhume::CrossSection::Splitting ( const double &   )  [private]

virtual double Exhume::CrossSection::SubParameterRange (  )  [pure virtual]

Implemented in Exhume::Dummy, Exhume::Higgs, and Exhume::TwoSpace.

virtual double Exhume::CrossSection::SubParameterWeight (  )  [pure virtual]

Implemented in Exhume::Dummy, Exhume::Higgs, and Exhume::TwoSpace.

virtual double Exhume::CrossSection::SubProcess (  )  [private, pure virtual]

Implemented in Exhume::DiPhoton, Exhume::Dummy, Exhume::GG, Exhume::Higgs, Exhume::QQ, and Exhume::TwoSpace.

Referenced by Differential().

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 210 of file CrossSection.h.

double * Exhume::CrossSection::_CfAs_2PIRg [private]

Definition at line 210 of file CrossSection.h.

double * Exhume::CrossSection::_KtHigh [private]

Definition at line 210 of file CrossSection.h.

double * Exhume::CrossSection::_KtLow [private]

Definition at line 210 of file CrossSection.h.

double * Exhume::CrossSection::_NcAs_2PI [private]

Definition at line 210 of file CrossSection.h.

double * Exhume::CrossSection::_Qt [private]

Definition at line 210 of file CrossSection.h.

double * Exhume::CrossSection::_Qt2 [private]

Definition at line 210 of file CrossSection.h.

double Exhume::CrossSection::AlphaEw [protected]

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::ASConst [private]

Definition at line 202 of file CrossSection.h.

double Exhume::CrossSection::ASFreeze [private]

Definition at line 202 of file CrossSection.h.

double Exhume::CrossSection::B [private]

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::BottomMass [protected]

Definition at line 253 of file CrossSection.h.

HepLorentzVector Exhume::CrossSection::CentralVector [protected]

Definition at line 269 of file CrossSection.h.

double Exhume::CrossSection::Cf_2PIRg [private]

Definition at line 213 of file CrossSection.h.

double Exhume::CrossSection::CharmMass [protected]

Definition at line 253 of file CrossSection.h.

double Exhume::CrossSection::ey [protected]

Definition at line 242 of file CrossSection.h.

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

Definition at line 217 of file CrossSection.h.

Referenced by Getfg2Map().

int Exhume::CrossSection::FNAL_or_LHC [protected]

Definition at line 265 of file CrossSection.h.

double Exhume::CrossSection::Freeze [private]

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::Gev2fb [protected]

Definition at line 281 of file CrossSection.h.

double Exhume::CrossSection::gw [protected]

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::HiggsMass [protected]

Definition at line 261 of file CrossSection.h.

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

double Exhume::CrossSection::HiggsVev [protected]

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::Inv2PI [private]

Definition at line 213 of file CrossSection.h.

double Exhume::CrossSection::Inv3 [private]

Definition at line 227 of file CrossSection.h.

double Exhume::CrossSection::InvMaxQt2 [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt2 [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt4 [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::Invs [protected]

Definition at line 266 of file CrossSection.h.

double Exhume::CrossSection::InvsHat [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::InvsHat2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::InvSqrtsHat [protected]

Definition at line 242 of file CrossSection.h.

Referenced by Differential().

double Exhume::CrossSection::Invsx1x2 [protected]

Definition at line 279 of file CrossSection.h.

double Exhume::CrossSection::InvV1MinusV2 [protected]

Definition at line 279 of file CrossSection.h.

double Exhume::CrossSection::LambdaQCD [private]

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::LambdaW [protected]

Definition at line 248 of file CrossSection.h.

std::string Exhume::CrossSection::lhapdfSetPath_ [protected]

Definition at line 283 of file CrossSection.h.

double Exhume::CrossSection::LnMju2 [protected]

Definition at line 242 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumAccuracy [private]

Definition at line 208 of file CrossSection.h.

double Exhume::CrossSection::LumConst [private]

Definition at line 212 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps [private]

Definition at line 209 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps_1 [private]

Definition at line 209 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumNStart [private]

Definition at line 208 of file CrossSection.h.

double* Exhume::CrossSection::LumSimpsFunc [private]

Definition at line 210 of file CrossSection.h.

double Exhume::CrossSection::LumSimpsIncr [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::MidQt2 [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::MinQt2 [private]

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::Mju [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::Mju2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::MuonMass [protected]

Definition at line 258 of file CrossSection.h.

std::string Exhume::CrossSection::Name [protected]

Definition at line 233 of file CrossSection.h.

Referenced by GetName().

double Exhume::CrossSection::Nc_2PI [private]

Definition at line 213 of file CrossSection.h.

HepLorentzVector Exhume::CrossSection::P1In [protected]

Definition at line 270 of file CrossSection.h.

HepLorentzVector Exhume::CrossSection::P2In [protected]

Definition at line 270 of file CrossSection.h.

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

Definition at line 278 of file CrossSection.h.

Referenced by GetPartons().

double Exhume::CrossSection::PDF [private]

Definition at line 200 of file CrossSection.h.

double Exhume::CrossSection::Phi1 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by GetPhi1().

double Exhume::CrossSection::Phi2 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by GetPhi2().

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

Definition at line 215 of file CrossSection.h.

Referenced by insert().

double Exhume::CrossSection::PPhi [protected]

Definition at line 242 of file CrossSection.h.

HepLorentzVector Exhume::CrossSection::Proton1 [protected]

Definition at line 270 of file CrossSection.h.

Referenced by GetProton1().

int Exhume::CrossSection::Proton1Id [private]

Definition at line 229 of file CrossSection.h.

HepLorentzVector Exhume::CrossSection::Proton2 [protected]

Definition at line 270 of file CrossSection.h.

Referenced by GetProton2().

int Exhume::CrossSection::Proton2Id [private]

Definition at line 229 of file CrossSection.h.

double Exhume::CrossSection::Pt1 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::Pt1DotPt2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::Pt2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::Rg [private]

Definition at line 194 of file CrossSection.h.

bool Exhume::CrossSection::RgBegin [private]

Definition at line 192 of file CrossSection.h.

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

Definition at line 191 of file CrossSection.h.

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

Definition at line 192 of file CrossSection.h.

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

Definition at line 191 of file CrossSection.h.

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

Definition at line 190 of file CrossSection.h.

double Exhume::CrossSection::root_s [protected]

Definition at line 266 of file CrossSection.h.

Referenced by GetRoot_s().

double Exhume::CrossSection::s [protected]

Definition at line 266 of file CrossSection.h.

double Exhume::CrossSection::sHat [protected]

Definition at line 242 of file CrossSection.h.

Referenced by GetsHat(), Exhume::Higgs::GluGlu2HiggsAmp(), and Exhume::Higgs::Propagator().

double Exhume::CrossSection::sHat2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::SqrtsHat [protected]

Definition at line 242 of file CrossSection.h.

Referenced by GetSqrtsHat().

double Exhume::CrossSection::StrangeMass [protected]

Definition at line 253 of file CrossSection.h.

double Exhume::CrossSection::Survive [private]

Definition at line 194 of file CrossSection.h.

double Exhume::CrossSection::t1 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by Differential(), and Gett1().

double Exhume::CrossSection::t2 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by Differential(), and Gett2().

double Exhume::CrossSection::TauMass [protected]

Definition at line 258 of file CrossSection.h.

bool Exhume::CrossSection::TBegin [private]

Definition at line 181 of file CrossSection.h.

double Exhume::CrossSection::TConst [private]

Definition at line 221 of file CrossSection.h.

double* Exhume::CrossSection::TFunc [private]

Definition at line 223 of file CrossSection.h.

bool Exhume::CrossSection::TInterpolate [private]

Definition at line 181 of file CrossSection.h.

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

Definition at line 182 of file CrossSection.h.

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

Definition at line 183 of file CrossSection.h.

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

Definition at line 183 of file CrossSection.h.

int Exhume::CrossSection::Tn [private]

Definition at line 222 of file CrossSection.h.

int Exhume::CrossSection::Tn_1 [private]

Definition at line 222 of file CrossSection.h.

double Exhume::CrossSection::TopMass [protected]

Definition at line 253 of file CrossSection.h.

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

Definition at line 216 of file CrossSection.h.

double Exhume::CrossSection::WMass [protected]

Definition at line 261 of file CrossSection.h.

double Exhume::CrossSection::x1 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by Differential(), and Getx1().

double Exhume::CrossSection::x1p [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::x1x2 [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::x2 [protected]

Definition at line 242 of file CrossSection.h.

Referenced by Differential(), and Getx2().

double Exhume::CrossSection::x2p [protected]

Definition at line 242 of file CrossSection.h.

double Exhume::CrossSection::y [protected]

Definition at line 242 of file CrossSection.h.

Referenced by GetEta().

double Exhume::CrossSection::ZMass [protected]

Definition at line 261 of file CrossSection.h.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:46:52 2009 for CMSSW by  doxygen 1.5.4