ATLAS Offline Software
SingleTopWideEta.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
5 #include "Pythia8/PhaseSpace.h"
6 
7 namespace Pythia8{
8  class SingleTopWideEta;
9 }
10 
11 
13 
14 namespace Pythia8 {
15 
16  class SingleTopWideEta : public UserHooks {
17 
18  public:
19 
20  // Constructor.
22 
23  // Destructor.
25 
26  // Allow process cross section to be modified...
27  virtual bool canModifySigma() {return true;}
28 
29  // ...which gives access to the event at the trial level, before selection.
30  virtual double multiplySigmaBy(const SigmaProcess* sigmaProcessPtr,
31  const PhaseSpace* phaseSpacePtr,
32  bool /* inEvent */) {
33  // Throw up on events that are not t-channel single top
34  if(sigmaProcessPtr->code() != 603){
35  throw std::runtime_error("SingleTopWideEta: Can only be run on qq -> tq (t-channel W) events, code 603. Event had code" + std::to_string(sigmaProcessPtr->code()) + ".");
36  }
37 
38  double sHat = phaseSpacePtr->sHat();
39  double flatEta= 1.;
40  double rH = std::sqrt(sHat);
41 
42  if(rH <= 160.){
43  double c = -5.55578e+01;
44  double slope= 2.88096e-01;
45  flatEta = exp(c+slope*rH);
46  }
47 
48 
49  if( 160. < rH && rH < 180. ){
50  double g1 = 8.07441e-1 ;
51  double g2 = 1.7313e2 ;
52  double g3 = 2.4357;
53  flatEta = g1*std::exp(-0.5*std::pow((g2-rH)/g3,2));
54  }
55 
56 
57  if(rH >= 180.){
58  double c1 = 8.84562;
59  double slope1 = -9.22426e-2;
60  flatEta = std::exp(c1+slope1*rH);
61  }
62 
63  return flatEta;
64 
65  }
66 
67  };
68 
69 } // end namespace Pythia8
extractSporadic.c1
c1
Definition: extractSporadic.py:134
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
Pythia8::SingleTopWideEta::multiplySigmaBy
virtual double multiplySigmaBy(const SigmaProcess *sigmaProcessPtr, const PhaseSpace *phaseSpacePtr, bool)
Definition: SingleTopWideEta.cxx:30
Pythia8_UserHooks::UserHooksFactory::Creator
Definition: UserHooksFactory.h:54
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
UserHooksFactory.h
Pythia8
Author: James Monk (jmonk@cern.ch)
Definition: IPythia8Custom.h:13
fitman.g1
g1
Definition: fitman.py:619
Pythia8::SingleTopWideEta
Definition: SingleTopWideEta.cxx:16
fitman.g2
g2
Definition: fitman.py:624
Pythia8::SingleTopWideEta::SingleTopWideEta
SingleTopWideEta()
Definition: SingleTopWideEta.cxx:21
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
singleTopWideEta
Pythia8_UserHooks::UserHooksFactory::Creator< Pythia8::SingleTopWideEta > singleTopWideEta("SingleTopWideEta")
Pythia8::SingleTopWideEta::canModifySigma
virtual bool canModifySigma()
Definition: SingleTopWideEta.cxx:27
python.compressB64.c
def c
Definition: compressB64.py:93
Pythia8::SingleTopWideEta::~SingleTopWideEta
~SingleTopWideEta()
Definition: SingleTopWideEta.cxx:24