CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 44 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 66 of file CrossSection.h.

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

66  {
67 
68  if(x1>1.0 || x2 > 1.0){
69  return(0.0);
70  }
71 
72  //return( SubProcess() );
73 
74  //Factor of 2/sqrt(sHat) because we integrate dM not dln(M^2)
75  return( 2.0 * InvSqrtsHat * Lumi() * SubProcess() * exp(B*(t1 + t2)));
76  };
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 155 of file CrossSection.h.

References Txg().

156  {
157 
158  double grad = 5.0 * (Txg(1.1 * Qt2_, x_) - Txg(0.9 * Qt2_, x_) ) / Qt2_;
159 
160  //protect from Qt2 == 0
161 
162  if(grad!=grad){
163 
164  return(0.0);
165  }
166  return(grad);
167  };
double Txg(const double &, const double &)
std::complex<double> Exhume::CrossSection::Fsf ( const double &  )
protected
double Exhume::CrossSection::GetB ( )
inline

Definition at line 79 of file CrossSection.h.

79  {
80  return(B);
81  };
double Exhume::CrossSection::GetEta ( )
inline

Definition at line 127 of file CrossSection.h.

References y.

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

Definition at line 87 of file CrossSection.h.

References fg2Map.

87  {
88  return(fg2Map);
89  };
std::map< double, double > fg2Map
Definition: CrossSection.h:223
std::string Exhume::CrossSection::GetName ( )
inline

Definition at line 144 of file CrossSection.h.

References Name.

Referenced by edm::ExhumeProducer::endRun(), edm::ExhumeProducer::produce(), and gen::ExhumeHadronizer::statistics().

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

Definition at line 99 of file CrossSection.h.

References Partons.

99  {
100  return(Partons);
101  };
std::vector< Particle > Partons
Definition: CrossSection.h:284
double Exhume::CrossSection::GetPhi1 ( )
inline

Definition at line 131 of file CrossSection.h.

References Phi1.

131  {
132  return(Phi1);
133  };
double Exhume::CrossSection::GetPhi2 ( )
inline

Definition at line 135 of file CrossSection.h.

References Phi2.

135  {
136  return(Phi2);
137  };
CLHEP::HepLorentzVector Exhume::CrossSection::GetProton1 ( )
inline

Definition at line 91 of file CrossSection.h.

References Proton1.

91  {
92  return(Proton1);
93  };
CLHEP::HepLorentzVector Proton1
Definition: CrossSection.h:276
CLHEP::HepLorentzVector Exhume::CrossSection::GetProton2 ( )
inline

Definition at line 95 of file CrossSection.h.

References Proton2.

95  {
96  return(Proton2);
97  };
CLHEP::HepLorentzVector Proton2
Definition: CrossSection.h:276
double Exhume::CrossSection::GetRg ( const double &  x_,
const double &  Qt 
)
inline

Definition at line 60 of file CrossSection.h.

References Rg_().

60  {
61 
62  return(Rg_(x_, Qt) );
63  };
double Rg_(const double &, double)
double Exhume::CrossSection::GetRoot_s ( )
inline

Definition at line 83 of file CrossSection.h.

References root_s.

83  {
84  return(root_s);
85  };
double Exhume::CrossSection::GetsHat ( )
inline

Definition at line 119 of file CrossSection.h.

References sHat.

119  {
120  return(sHat);
121  };
double Exhume::CrossSection::GetSqrtsHat ( )
inline

Definition at line 123 of file CrossSection.h.

References SqrtsHat.

123  {
124  return(SqrtsHat);
125  };
double Exhume::CrossSection::Gett1 ( )
inline

Definition at line 111 of file CrossSection.h.

References t1.

111  {
112  return(t1);
113  };
double Exhume::CrossSection::Gett2 ( )
inline

Definition at line 115 of file CrossSection.h.

References t2.

115  {
116  return(t2);
117  };
double Exhume::CrossSection::Getx1 ( )
inline

Definition at line 103 of file CrossSection.h.

References x1.

103  {
104  return(x1);
105  };
double Exhume::CrossSection::Getx2 ( )
inline

Definition at line 107 of file CrossSection.h.

References x2.

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

Definition at line 170 of file CrossSection.h.

References mergeVDriftHistosByStation::name, and PMap.

170  {
171  PMap.insert
172  (std::pair<std::string,PConstVoidPair>
173  (_name_,PConstVoidPair(typeid(_x_).name(),_x_)));
174  }
std::map< std::string, PConstVoidPair > PMap
Definition: CrossSection.h:221
std::pair< const char *, const void * > PConstVoidPair
Definition: CrossSection.h:42
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 58 of file CrossSection.h.

References randomEngine.

58 {randomEngine = engine;}
CLHEP::HepRandomEngine * randomEngine
Definition: CrossSection.h:291
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 216 of file CrossSection.h.

double * Exhume::CrossSection::_CfAs_2PIRg
private

Definition at line 216 of file CrossSection.h.

double * Exhume::CrossSection::_KtHigh
private

Definition at line 216 of file CrossSection.h.

double * Exhume::CrossSection::_KtLow
private

Definition at line 216 of file CrossSection.h.

double * Exhume::CrossSection::_NcAs_2PI
private

Definition at line 216 of file CrossSection.h.

double * Exhume::CrossSection::_Qt
private

Definition at line 216 of file CrossSection.h.

double * Exhume::CrossSection::_Qt2
private

Definition at line 216 of file CrossSection.h.

double Exhume::CrossSection::AlphaEw
protected

Definition at line 254 of file CrossSection.h.

double Exhume::CrossSection::ASConst
private

Definition at line 208 of file CrossSection.h.

double Exhume::CrossSection::ASFreeze
private

Definition at line 208 of file CrossSection.h.

double Exhume::CrossSection::B
private

Definition at line 200 of file CrossSection.h.

double Exhume::CrossSection::BottomMass
protected

Definition at line 259 of file CrossSection.h.

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

Definition at line 275 of file CrossSection.h.

double Exhume::CrossSection::Cf_2PIRg
private

Definition at line 219 of file CrossSection.h.

double Exhume::CrossSection::CharmMass
protected

Definition at line 259 of file CrossSection.h.

double Exhume::CrossSection::ey
protected

Definition at line 248 of file CrossSection.h.

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

Definition at line 223 of file CrossSection.h.

Referenced by Getfg2Map().

int Exhume::CrossSection::FNAL_or_LHC
protected

Definition at line 271 of file CrossSection.h.

double Exhume::CrossSection::Freeze
private

Definition at line 200 of file CrossSection.h.

double Exhume::CrossSection::Gev2fb
protected

Definition at line 287 of file CrossSection.h.

double Exhume::CrossSection::gw
protected

Definition at line 254 of file CrossSection.h.

double Exhume::CrossSection::HiggsMass
protected

Definition at line 267 of file CrossSection.h.

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

double Exhume::CrossSection::HiggsVev
protected

Definition at line 254 of file CrossSection.h.

double Exhume::CrossSection::Inv2PI
private

Definition at line 219 of file CrossSection.h.

double Exhume::CrossSection::Inv3
private

Definition at line 233 of file CrossSection.h.

double Exhume::CrossSection::InvMaxQt2
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt2
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt4
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::Invs
protected

Definition at line 272 of file CrossSection.h.

double Exhume::CrossSection::InvsHat
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::InvsHat2
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::InvSqrtsHat
protected

Definition at line 248 of file CrossSection.h.

Referenced by Differential().

double Exhume::CrossSection::Invsx1x2
protected

Definition at line 285 of file CrossSection.h.

double Exhume::CrossSection::InvV1MinusV2
protected

Definition at line 285 of file CrossSection.h.

double Exhume::CrossSection::LambdaQCD
private

Definition at line 200 of file CrossSection.h.

double Exhume::CrossSection::LambdaW
protected

Definition at line 254 of file CrossSection.h.

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

Definition at line 289 of file CrossSection.h.

double Exhume::CrossSection::LnMju2
protected

Definition at line 248 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumAccuracy
private

Definition at line 214 of file CrossSection.h.

double Exhume::CrossSection::LumConst
private

Definition at line 218 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps
private

Definition at line 215 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps_1
private

Definition at line 215 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumNStart
private

Definition at line 214 of file CrossSection.h.

double* Exhume::CrossSection::LumSimpsFunc
private

Definition at line 216 of file CrossSection.h.

double Exhume::CrossSection::LumSimpsIncr
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::MidQt2
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::MinQt2
private

Definition at line 212 of file CrossSection.h.

double Exhume::CrossSection::Mju
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::Mju2
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::MuonMass
protected

Definition at line 264 of file CrossSection.h.

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

Definition at line 239 of file CrossSection.h.

Referenced by GetName().

double Exhume::CrossSection::Nc_2PI
private

Definition at line 219 of file CrossSection.h.

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

Definition at line 276 of file CrossSection.h.

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

Definition at line 276 of file CrossSection.h.

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

Definition at line 284 of file CrossSection.h.

Referenced by GetPartons().

double Exhume::CrossSection::PDF
private

Definition at line 206 of file CrossSection.h.

double Exhume::CrossSection::Phi1
protected

Definition at line 248 of file CrossSection.h.

Referenced by GetPhi1().

double Exhume::CrossSection::Phi2
protected

Definition at line 248 of file CrossSection.h.

Referenced by GetPhi2().

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

Definition at line 221 of file CrossSection.h.

Referenced by insert().

double Exhume::CrossSection::PPhi
protected

Definition at line 248 of file CrossSection.h.

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

Definition at line 276 of file CrossSection.h.

Referenced by GetProton1().

int Exhume::CrossSection::Proton1Id
private

Definition at line 235 of file CrossSection.h.

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

Definition at line 276 of file CrossSection.h.

Referenced by GetProton2().

int Exhume::CrossSection::Proton2Id
private

Definition at line 235 of file CrossSection.h.

double Exhume::CrossSection::Pt1
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::Pt1DotPt2
protected

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::Pt2
protected

Definition at line 248 of file CrossSection.h.

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

Definition at line 291 of file CrossSection.h.

Referenced by SetRandomEngine().

double Exhume::CrossSection::Rg
private

Definition at line 200 of file CrossSection.h.

bool Exhume::CrossSection::RgBegin
private

Definition at line 198 of file CrossSection.h.

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

Definition at line 197 of file CrossSection.h.

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

Definition at line 198 of file CrossSection.h.

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

Definition at line 197 of file CrossSection.h.

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

Definition at line 196 of file CrossSection.h.

double Exhume::CrossSection::root_s
protected

Definition at line 272 of file CrossSection.h.

Referenced by GetRoot_s().

double Exhume::CrossSection::s
protected

Definition at line 272 of file CrossSection.h.

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

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::SqrtsHat
protected

Definition at line 248 of file CrossSection.h.

Referenced by GetSqrtsHat().

double Exhume::CrossSection::StrangeMass
protected

Definition at line 259 of file CrossSection.h.

double Exhume::CrossSection::Survive
private

Definition at line 200 of file CrossSection.h.

double Exhume::CrossSection::t1
protected

Definition at line 248 of file CrossSection.h.

Referenced by Differential(), and Gett1().

double Exhume::CrossSection::t2
protected

Definition at line 248 of file CrossSection.h.

Referenced by Differential(), and Gett2().

double Exhume::CrossSection::TauMass
protected

Definition at line 264 of file CrossSection.h.

bool Exhume::CrossSection::TBegin
private

Definition at line 187 of file CrossSection.h.

double Exhume::CrossSection::TConst
private

Definition at line 227 of file CrossSection.h.

double* Exhume::CrossSection::TFunc
private

Definition at line 229 of file CrossSection.h.

bool Exhume::CrossSection::TInterpolate
private

Definition at line 187 of file CrossSection.h.

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

Definition at line 188 of file CrossSection.h.

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

Definition at line 189 of file CrossSection.h.

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

Definition at line 189 of file CrossSection.h.

int Exhume::CrossSection::Tn
private

Definition at line 228 of file CrossSection.h.

int Exhume::CrossSection::Tn_1
private

Definition at line 228 of file CrossSection.h.

double Exhume::CrossSection::TopMass
protected

Definition at line 259 of file CrossSection.h.

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

Definition at line 222 of file CrossSection.h.

double Exhume::CrossSection::WMass
protected

Definition at line 267 of file CrossSection.h.

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

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::x1x2
protected

Definition at line 248 of file CrossSection.h.

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

Definition at line 248 of file CrossSection.h.

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

Definition at line 267 of file CrossSection.h.