1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
//-*-c++-*-
//-*-TwoSpace.h-*-
// Written by James Monk and Andrew Pilkington - 20/08/05
#ifndef TWOSPACE_HH
#define TWOSPACE_HH
#include "GeneratorInterface/ExhumeInterface/interface/CrossSection.h"
#include "GeneratorInterface/ExhumeInterface/interface/Weight.h"
namespace Exhume {
class TwoSpace : public CrossSection, Weight {
public:
TwoSpace(const edm::ParameterSet &);
~TwoSpace() override;
double SubParameterRange() override;
void MaximiseSubParameters() override;
void SetSubParameters() override;
void SetPartons() override;
void SetMassAtThetaScan(double _M1) {
MassAtThetaScan = _M1;
return;
}
double SubProcess() override = 0;
double SubParameterWeight() override;
void SetThetaMin(const double &);
int GetNumberOfSubParameters();
//allows user to define an amplitude (Msq) and use all our pre defined funcs
//virtual double AmplitudeSq()=0;
virtual void Amp2LIPS() = 0;
virtual void LIPS2Amp() = 0;
double WeightFunc(const double &) override;
protected:
double CosTheta, Phi; //lips parameters
double ThetaMin, ThetaMax;
double MaximumSubProcessValue, MaximumSubProcessCosTheta;
double PhiMax, CosThetaMax, CosThetaMin;
double PartonMass;
bool dirty_weighting;
double MassAtThetaScan;
double Fudge;
};
} // namespace Exhume
#endif
|