CMS 3D CMS Logo

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, PConstVoidPairPMap
 
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 65 of file CrossSection.h.

References TtFullHadDaughter::B, JetChargeProducer_cfi::exp, mix_E10TeV_L13E31_BX432_cfi::Lumi, reco::t2, globals_cff::x1, and globals_cff::x2.

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

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

Definition at line 78 of file CrossSection.h.

References TtFullHadDaughter::B.

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

Definition at line 126 of file CrossSection.h.

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

Definition at line 86 of file CrossSection.h.

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

Definition at line 143 of file CrossSection.h.

References globaldigis_analyze_cfi::Name.

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

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

Definition at line 98 of file CrossSection.h.

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

Definition at line 130 of file CrossSection.h.

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

Definition at line 134 of file CrossSection.h.

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

Definition at line 90 of file CrossSection.h.

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

Definition at line 94 of file CrossSection.h.

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

Definition at line 59 of file CrossSection.h.

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

Definition at line 82 of file CrossSection.h.

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

Definition at line 118 of file CrossSection.h.

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

Definition at line 122 of file CrossSection.h.

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

Definition at line 110 of file CrossSection.h.

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

Definition at line 114 of file CrossSection.h.

References reco::t2.

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

Definition at line 102 of file CrossSection.h.

References globals_cff::x1.

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

Definition at line 106 of file CrossSection.h.

References globals_cff::x2.

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

Definition at line 169 of file CrossSection.h.

References mix_E10TeV_L13E31_BX432_cfi::Lumi, dataset::name, and AlCaHLTBitMon_QueryRunRegistry::string.

169  {
170  PMap.insert
171  (std::pair<std::string,PConstVoidPair>
172  (_name_,PConstVoidPair(typeid(_x_).name(),_x_)));
173  }
std::map< std::string, PConstVoidPair > PMap
Definition: CrossSection.h:220
std::pair< const char *, const void * > PConstVoidPair
Definition: CrossSection.h:41
double Exhume::CrossSection::Lumi ( )
private
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
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 57 of file CrossSection.h.

References randomEngine.

57 {randomEngine = engine;}
CLHEP::HepRandomEngine * randomEngine
Definition: CrossSection.h:290
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

Member Data Documentation

double * Exhume::CrossSection::_AlphaS
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_CfAs_2PIRg
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_KtHigh
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_KtLow
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_NcAs_2PI
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_Qt
private

Definition at line 215 of file CrossSection.h.

double * Exhume::CrossSection::_Qt2
private

Definition at line 215 of file CrossSection.h.

double Exhume::CrossSection::AlphaEw
protected

Definition at line 253 of file CrossSection.h.

double Exhume::CrossSection::ASConst
private

Definition at line 207 of file CrossSection.h.

double Exhume::CrossSection::ASFreeze
private

Definition at line 207 of file CrossSection.h.

double Exhume::CrossSection::B
private

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::BottomMass
protected

Definition at line 258 of file CrossSection.h.

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

Definition at line 274 of file CrossSection.h.

double Exhume::CrossSection::Cf_2PIRg
private

Definition at line 218 of file CrossSection.h.

double Exhume::CrossSection::CharmMass
protected

Definition at line 258 of file CrossSection.h.

double Exhume::CrossSection::ey
protected

Definition at line 247 of file CrossSection.h.

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

Definition at line 222 of file CrossSection.h.

int Exhume::CrossSection::FNAL_or_LHC
protected

Definition at line 270 of file CrossSection.h.

double Exhume::CrossSection::Freeze
private

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::Gev2fb
protected

Definition at line 286 of file CrossSection.h.

double Exhume::CrossSection::gw
protected

Definition at line 253 of file CrossSection.h.

double Exhume::CrossSection::HiggsMass
protected

Definition at line 266 of file CrossSection.h.

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

double Exhume::CrossSection::HiggsVev
protected

Definition at line 253 of file CrossSection.h.

double Exhume::CrossSection::Inv2PI
private

Definition at line 218 of file CrossSection.h.

double Exhume::CrossSection::Inv3
private

Definition at line 232 of file CrossSection.h.

double Exhume::CrossSection::InvMaxQt2
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt2
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::InvMidQt4
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::Invs
protected

Definition at line 271 of file CrossSection.h.

double Exhume::CrossSection::InvsHat
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::InvsHat2
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::InvSqrtsHat
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::Invsx1x2
protected

Definition at line 284 of file CrossSection.h.

double Exhume::CrossSection::InvV1MinusV2
protected

Definition at line 284 of file CrossSection.h.

double Exhume::CrossSection::LambdaQCD
private

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::LambdaW
protected

Definition at line 253 of file CrossSection.h.

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

Definition at line 288 of file CrossSection.h.

double Exhume::CrossSection::LnMju2
protected

Definition at line 247 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumAccuracy
private

Definition at line 213 of file CrossSection.h.

double Exhume::CrossSection::LumConst
private

Definition at line 217 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps
private

Definition at line 214 of file CrossSection.h.

int Exhume::CrossSection::LumNSimps_1
private

Definition at line 214 of file CrossSection.h.

unsigned int Exhume::CrossSection::LumNStart
private

Definition at line 213 of file CrossSection.h.

double* Exhume::CrossSection::LumSimpsFunc
private

Definition at line 215 of file CrossSection.h.

double Exhume::CrossSection::LumSimpsIncr
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::MidQt2
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::MinQt2
private

Definition at line 211 of file CrossSection.h.

double Exhume::CrossSection::Mju
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::Mju2
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::MuonMass
protected

Definition at line 263 of file CrossSection.h.

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

Definition at line 238 of file CrossSection.h.

double Exhume::CrossSection::Nc_2PI
private

Definition at line 218 of file CrossSection.h.

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

Definition at line 275 of file CrossSection.h.

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

Definition at line 275 of file CrossSection.h.

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

Definition at line 283 of file CrossSection.h.

double Exhume::CrossSection::PDF
private

Definition at line 205 of file CrossSection.h.

double Exhume::CrossSection::Phi1
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::Phi2
protected

Definition at line 247 of file CrossSection.h.

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

Definition at line 220 of file CrossSection.h.

double Exhume::CrossSection::PPhi
protected

Definition at line 247 of file CrossSection.h.

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

Definition at line 275 of file CrossSection.h.

int Exhume::CrossSection::Proton1Id
private

Definition at line 234 of file CrossSection.h.

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

Definition at line 275 of file CrossSection.h.

int Exhume::CrossSection::Proton2Id
private

Definition at line 234 of file CrossSection.h.

double Exhume::CrossSection::Pt1
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::Pt1DotPt2
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::Pt2
protected

Definition at line 247 of file CrossSection.h.

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

Definition at line 290 of file CrossSection.h.

double Exhume::CrossSection::Rg
private

Definition at line 199 of file CrossSection.h.

bool Exhume::CrossSection::RgBegin
private

Definition at line 197 of file CrossSection.h.

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

Definition at line 196 of file CrossSection.h.

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

Definition at line 197 of file CrossSection.h.

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

Definition at line 196 of file CrossSection.h.

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

Definition at line 195 of file CrossSection.h.

double Exhume::CrossSection::root_s
protected

Definition at line 271 of file CrossSection.h.

double Exhume::CrossSection::s
protected

Definition at line 271 of file CrossSection.h.

double Exhume::CrossSection::sHat
protected

Definition at line 247 of file CrossSection.h.

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

double Exhume::CrossSection::sHat2
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::SqrtsHat
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::StrangeMass
protected

Definition at line 258 of file CrossSection.h.

double Exhume::CrossSection::Survive
private

Definition at line 199 of file CrossSection.h.

double Exhume::CrossSection::t1
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::t2
protected

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::TauMass
protected

Definition at line 263 of file CrossSection.h.

bool Exhume::CrossSection::TBegin
private

Definition at line 186 of file CrossSection.h.

double Exhume::CrossSection::TConst
private

Definition at line 226 of file CrossSection.h.

double* Exhume::CrossSection::TFunc
private

Definition at line 228 of file CrossSection.h.

bool Exhume::CrossSection::TInterpolate
private

Definition at line 186 of file CrossSection.h.

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

Definition at line 187 of file CrossSection.h.

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

Definition at line 188 of file CrossSection.h.

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

Definition at line 188 of file CrossSection.h.

int Exhume::CrossSection::Tn
private

Definition at line 227 of file CrossSection.h.

int Exhume::CrossSection::Tn_1
private

Definition at line 227 of file CrossSection.h.

double Exhume::CrossSection::TopMass
protected

Definition at line 258 of file CrossSection.h.

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

Definition at line 221 of file CrossSection.h.

double Exhume::CrossSection::WMass
protected

Definition at line 266 of file CrossSection.h.

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

Definition at line 247 of file CrossSection.h.

double Exhume::CrossSection::x1x2
protected

Definition at line 247 of file CrossSection.h.

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

Definition at line 247 of file CrossSection.h.

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

Definition at line 266 of file CrossSection.h.