CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

Exhume::CrossSection Class Reference

#include <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 ()
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.

                                {

      if(x1>1.0 || x2 > 1.0){
        return(0.0);
      }

      //return( SubProcess() );

      //Factor of 2/sqrt(sHat) because we integrate dM not dln(M^2)
      return( 2.0 * InvSqrtsHat * Lumi() * SubProcess() * exp(B*(t1 + t2))); 
    };
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_ 
) [inline, private]

Definition at line 155 of file CrossSection.h.

References Txg().

                                                             {

      double grad = 5.0 * (Txg(1.1 * Qt2_, x_) - Txg(0.9 * Qt2_, x_) ) / Qt2_;

      //protect from Qt2 == 0

      if(grad!=grad){

        return(0.0);
      }
      return(grad);    
    };
std::complex<double> Exhume::CrossSection::Fsf ( const double &  ) [protected]
double Exhume::CrossSection::GetB ( ) [inline]

Definition at line 79 of file CrossSection.h.

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

Definition at line 127 of file CrossSection.h.

References y.

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

Definition at line 87 of file CrossSection.h.

References fg2Map.

                                            {
      return(fg2Map);
    };
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().

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

Definition at line 99 of file CrossSection.h.

References Partons.

                                           {
      return(Partons);
    };
double Exhume::CrossSection::GetPhi1 ( ) [inline]

Definition at line 131 of file CrossSection.h.

References Phi1.

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

Definition at line 135 of file CrossSection.h.

References Phi2.

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

Definition at line 91 of file CrossSection.h.

References Proton1.

                                             {
      return(Proton1);
    };
CLHEP::HepLorentzVector Exhume::CrossSection::GetProton2 ( ) [inline]

Definition at line 95 of file CrossSection.h.

References Proton2.

                                             {
      return(Proton2);
    };
double Exhume::CrossSection::GetRg ( const double &  x_,
const double &  Qt 
) [inline]

Definition at line 60 of file CrossSection.h.

References Rg_().

                                                           {

      return(Rg_(x_, Qt) );
    };
double Exhume::CrossSection::GetRoot_s ( ) [inline]

Definition at line 83 of file CrossSection.h.

References root_s.

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

Definition at line 119 of file CrossSection.h.

References sHat.

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

Definition at line 123 of file CrossSection.h.

References SqrtsHat.

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

Definition at line 111 of file CrossSection.h.

References t1.

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

Definition at line 115 of file CrossSection.h.

References t2.

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

Definition at line 103 of file CrossSection.h.

References x1.

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

Definition at line 107 of file CrossSection.h.

References x2.

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

Definition at line 170 of file CrossSection.h.

References AlCaRecoCosmics_cfg::name, and PMap.

                                                            {
      PMap.insert
        (std::pair<std::string,PConstVoidPair>
         (_name_,PConstVoidPair(typeid(_x_).name(),_x_)));
    }
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.

{randomEngine = engine;}
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 ( ) [private, pure 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.

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.

Definition at line 208 of file CrossSection.h.

Definition at line 208 of file CrossSection.h.

double Exhume::CrossSection::B [private]

Definition at line 200 of file CrossSection.h.

Definition at line 259 of file CrossSection.h.

CLHEP::HepLorentzVector Exhume::CrossSection::CentralVector [protected]

Definition at line 275 of file CrossSection.h.

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().

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.

Definition at line 212 of file CrossSection.h.

Definition at line 212 of file CrossSection.h.

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.

Definition at line 248 of file CrossSection.h.

Referenced by Differential().

double Exhume::CrossSection::Invsx1x2 [protected]

Definition at line 285 of file CrossSection.h.

Definition at line 285 of file CrossSection.h.

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.

Definition at line 218 of file CrossSection.h.

Definition at line 215 of file CrossSection.h.

Definition at line 215 of file CrossSection.h.

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

Definition at line 214 of file CrossSection.h.

Definition at line 216 of file CrossSection.h.

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().

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().

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.

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.

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().

Definition at line 259 of file CrossSection.h.

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.

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.

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.

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]

Definition at line 248 of file CrossSection.h.

Referenced by Differential(), and Getx1().

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]

Definition at line 248 of file CrossSection.h.

Referenced by Differential(), and Getx2().

double Exhume::CrossSection::x2p [protected]

Definition at line 248 of file CrossSection.h.

double Exhume::CrossSection::y [protected]

Definition at line 248 of file CrossSection.h.

Referenced by GetEta().

double Exhume::CrossSection::ZMass [protected]

Definition at line 267 of file CrossSection.h.