rivet is hosted by Hepforge, IPPP Durham
Rivet 3.1.6
TriggerUA5.hh
1// -*- C++ -*-
2#ifndef RIVET_TriggerUA5_HH
3#define RIVET_TriggerUA5_HH
4
5#include "Rivet/Projection.hh"
6#include "Rivet/Event.hh"
7#include "Rivet/Particle.hh"
8#include "Rivet/Projections/Beam.hh"
9
10namespace Rivet {
11
12
14 class TriggerUA5 : public Projection {
15 public:
16
19
22
23
25 bool sdDecision() const {
26 return _decision_sd;
27 }
28
30 bool nsdDecision() const {
31 return _decision_nsd_1;
32 }
33
36 bool nsd2Decision() const {
37 return _decision_nsd_2;
38 }
39
41 bool samebeams() const {
42 return _samebeams;
43 }
44
46 pair<unsigned int, unsigned int> numHits() {
47 return make_pair(_n_plus, _n_minus);
48 }
49
51 void project(const Event& evt);
52
53
54 protected:
55
57 virtual CmpState compare(const Projection&) const {
58 return CmpState::EQ;
59 }
60
61
62 private:
63
65 bool _decision_sd, _decision_nsd_1, _decision_nsd_2;
66
68 bool _samebeams;
69
71 unsigned int _n_plus, _n_minus;
72
73 };
74
75
76}
77
78#endif
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
Base class for all Rivet projections.
Definition: Projection.hh:29
Access to the min bias triggers used by UA5.
Definition: TriggerUA5.hh:14
TriggerUA5()
Default constructor.
bool samebeams() const
The trigger result.
Definition: TriggerUA5.hh:41
DEFAULT_RIVET_PROJ_CLONE(TriggerUA5)
Clone on the heap.
bool nsdDecision() const
The trigger result for non-single diffractive (2 arm) trigger.
Definition: TriggerUA5.hh:30
virtual CmpState compare(const Projection &) const
Compare with other projections.
Definition: TriggerUA5.hh:57
void project(const Event &evt)
Project on to the event.
bool sdDecision() const
The trigger result for non-single diffractive (2 arm) trigger.
Definition: TriggerUA5.hh:25
bool nsd2Decision() const
Definition: TriggerUA5.hh:36
pair< unsigned int, unsigned int > numHits()
Number of hits in <-,+> eta hodoscopes.
Definition: TriggerUA5.hh:46
Definition: MC_Cent_pPb.hh:10