58 template<
typename Tagger_>
121 switch (static_cast<int>(
Mass() / GeV)) {
124 case 1000 :
return 250_GeV;
125 case 2000 :
return 250_GeV;
126 case 3000 :
return 250_GeV;
127 default : std::cout <<
"Switch default for Mass of " <<
Mass() <<
'\n';
131 switch (static_cast<int>(
Mass() / GeV)) {
134 case 1000 :
return 300_GeV;
135 case 2000 :
return 300_GeV;
136 case 4000 :
return 1.5_TeV;
137 case 6000 :
return 2.5_TeV;
138 case 10000 :
return 2.5_TeV;
139 case 15000 :
return 2.5_TeV;
140 case 20000 :
return 2.5_TeV;
141 default : std::cout <<
"Switch default for Mass of " <<
Mass() <<
'\n';
144 default : std::cout <<
"Switch default for Collider " <<
to_int(
Collider()) <<
'\n';
153 default : std::cout <<
"Switch default for Collider " <<
to_int(
Collider()) <<
'\n';
162 default : std::cout <<
"Switch default for Collider " <<
to_int(
Collider()) <<
'\n';
171 default : std::cout <<
"Switch default for Collider " <<
to_int(
Collider()) <<
'\n';
188 default : std::cout <<
"Switch default for Process " <<
to_int(process) <<
'\n';
195 default : std::cout <<
"Switch default for Process " <<
to_int(process) <<
'\n';
198 default : std::cout <<
"Switch default for Collider " <<
to_int(
Collider()) <<
'\n';
213 default : std::cout <<
"Switch default for Process " <<
to_int(process) <<
'\n';
223 switch (static_cast<int>(
Mass() / GeV)) {
225 case 500 :
return 25.52_fb;
226 case 1000 :
return 1.278_fb;
227 case 2000 :
return 0.02190_fb;
231 switch (static_cast<int>(
Mass() / GeV)) {
232 case 500 :
return 973.5_fb;
233 case 1000 :
return 123.0_fb;
234 case 1500 :
return 28.62_fb;
235 case 2000 :
return 9.485_fb;
236 case 3000 :
return 1.754_fb;
237 case 4000 :
return 0.4851_fb;
238 case 5000 :
return 0.1669_fb;
239 case 6000 :
return 0.06731_fb;
240 case 7000 :
return 0.02937_fb;
241 case 8000 :
return 0.01425_fb;
242 case 10000 :
return 0.003842_fb;
243 case 12000 :
return 0.001221_fb;
244 case 15000 :
return 0.0002650_fb;
245 case 20000 :
return 0.00002821_fb;
253 switch (static_cast<int>(
PreCut() / GeV)) {
254 case 0 :
return 97.54 * 2 * 1000_fb;
255 case 250 :
return 5.698 * 2 * 1000_fb;
260 default : std::cout <<
"Switch default for Process " <<
to_int(process) <<
'\n';
266 NewFile(Tag::signal, process);
270 NewFile(Tag::background, process);
278 if (FileNumber(process) == 1)
return {
FileName(process, tag)};
279 std::vector<std::string> names;
280 for (
auto const & file_number :
IntegerRange(FileNumber(process))) {
281 if (file_number == 0) names.emplace_back(
FileName(process, tag));
282 else names.emplace_back(
FileName(process, tag) +
"_" + std::to_string(file_number));
293 default : std::cout <<
"Switch default for Tag " <<
to_int(tag) <<
'\n';
Momentum const at_rest
Definition: ElectronVolt.hh:71
decltype(auto) IntegerRange(Integer last)
Definition: Types.hh:18
Analysis for heavy higgs.
Definition: HeavyHiggs.hh:59
void AddFile(Tag tag, boca::FileInfo const &file)
Definition: Base.cpp:124
Momentum PreCut() const
Definition: HeavyHiggs.hh:118
long TrainNumberMax() const override
Definition: HeavyHiggs.hh:91
void AddSignal(Process process)
Definition: HeavyHiggs.hh:265
Momentum BottomPt() const
Definition: HeavyHiggs.hh:167
HeavyHiggs()
Definition: HeavyHiggs.hh:64
static void SetCollider(boca::Collider collider)
Definition: Settings.cpp:40
Heavy Higgs partner.
Definition: Charged.hh:7
std::string FileName(std::string const &file)
Definition: Debug.cpp:48
int FileNumber(Process process) const
Definition: HeavyHiggs.hh:176
virtual boca::Crosssection Crosssection(Process process) const
Definition: HeavyHiggs.hh:218
Momentum MissingEt() const
Definition: HeavyHiggs.hh:149
boca::latex::String LatexName(Process process)
Definition: HeavyHiggs.cpp:29
Tag
The Tag distinguishes between signal and background events.
Definition: Tag.hh:14
long ReadNumberMax() const override
Definition: HeavyHiggs.hh:102
std::string Name(Energy const &energy)
Definition: ElectronVolt.cpp:34
virtual std::string FileName(Process process, Tag tag) const
Definition: HeavyHiggs.hh:287
provides main analysis loops and logic.
Definition: Analysis.hh:29
Momentum LeptonPt() const
Definition: HeavyHiggs.hh:158
default detector for a 100TeV collider
decltype(auto) to_int(Enumeration value)
Definition: Types.hh:29
void AddBackground(Process process)
Definition: HeavyHiggs.hh:269
Boosted Collider Analysis.
Definition: Analysis.hh:15
#define DEFAULT(...)
Definition: DEBUG_MACROS.hh:118
virtual void NewFile(Tag tag, Process process)
Definition: HeavyHiggs.hh:273
boost::units::quantity< barn::Area > Crosssection
Crosssection measured in barn.
Definition: Barn.hh:36
std::string Name(Process process)
Definition: HeavyHiggs.cpp:7
Process
Definition: HeavyHiggs.hh:18
boca::Collider Collider() const
Definition: HeavyHiggs.hh:113
boca::Mass Mass() const
Definition: HeavyHiggs.hh:68
Energy Momentum
Momentum measured in electronvolt.
Definition: ElectronVolt.hh:68
Collider
Detector type indicates which kind of detector geometry is going to be used.
Definition: Settings.hh:30
std::vector< std::string > FileNames(Process process, Tag tag) const
Definition: HeavyHiggs.hh:277
std::string Suffix(Process process) const
Definition: HeavyHiggs.hh:203
Energy Mass
Mass measured in electronvolt.
Definition: ElectronVolt.hh:62