9 #ifndef PROJECTIONS_ALICECOMMON_HH 10 #define PROJECTIONS_ALICECOMMON_HH 11 #include <Rivet/Tools/AliceCommon.hh> 12 #include <Rivet/Projections/FinalState.hh> 13 #include <Rivet/Projections/SingleValueProjection.hh> 14 #include <Rivet/Projections/TriggerProjection.hh> 42 setName(
"ALICE::V0Multiplicity");
51 this->
declare(fs,
"FinalState");
67 set(apply<FinalState>(e,
"FinalState").
particles().size());
74 virtual std::unique_ptr<Rivet::Projection>
clone()
const 86 EQUIVALENT : UNDEFINED;
119 template <
bool INNER>
129 setName(
"ALICE::CLMultiplicity");
137 this->
declare(fs,
"FinalState");
153 set(apply<FinalState>(e,
"FinalState").
particles().size());
160 virtual std::unique_ptr<Rivet::Projection>
clone()
const 172 EQUIVALENT : UNDEFINED;
213 this->
declare(fs,
"FinalState");
235 virtual std::unique_ptr<Rivet::Projection>
clone()
const 250 EQUIVALENT : UNDEFINED;
307 if (apply<V0ATrigger>(e,
"V0A")() &&
308 apply<V0CTrigger>(e,
"V0C")()) pass();
321 EQUIVALENT : UNDEFINED;
328 virtual std::unique_ptr<Rivet::Projection>
clone()
const 330 return std::unique_ptr<Projection>(
new V0AndTrigger(*
this));
362 if (_cuts != o->_cuts)
return UNDEFINED;
363 return mkPCmp(*o,
"PrimaryParticles");
370 virtual std::unique_ptr<Rivet::Projection>
clone()
const 392 int pdg = PID::abspid(p->pdg_id());
394 if (pdg > 1000000000)
return true;
397 case Rivet::PID::MUON:
398 case Rivet::PID::ELECTRON:
399 case Rivet::PID::GAMMA:
400 case Rivet::PID::PIPLUS:
401 case Rivet::PID::KPLUS:
402 case Rivet::PID::K0S:
403 case Rivet::PID::K0L:
404 case Rivet::PID::PROTON:
405 case Rivet::PID::NEUTRON:
406 case Rivet::PID::LAMBDA:
407 case Rivet::PID::SIGMAMINUS:
408 case Rivet::PID::SIGMAPLUS:
409 case Rivet::PID::XIMINUS:
410 case Rivet::PID::XI0:
411 case Rivet::PID::OMEGAMINUS:
412 case Rivet::PID::NU_E:
413 case Rivet::PID::NU_MU:
414 case Rivet::PID::NU_TAU:
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:133
Definition: ALICE_2010_I880049.cc:13
virtual int compare(const Projection &p) const
Definition: AliceCommon.hh:169
virtual ~CLMultiplicity()
Definition: AliceCommon.hh:142
V0AndTrigger()
Definition: AliceCommon.hh:286
virtual void project(const Event &e)
Definition: AliceCommon.hh:64
virtual void project(const Event &e)
Definition: AliceCommon.hh:225
Base class for projections returning a single floating point value.
Definition: SingleValueProjection.hh:18
const Cut CL0acceptance
Definition: AliceCommon.hh:48
V0Multiplicity<+1 > V0CMultiplicity
Definition: AliceCommon.hh:101
V0Multiplicity<-1 > V0AMultiplicity
Definition: AliceCommon.hh:95
virtual ~V0Multiplicity()
Definition: AliceCommon.hh:56
Project out primary particles according to definition. A Rivet projection that mimics an experimental...
Definition: PrimaryParticles.hh:22
Definition: AliceCommon.hh:199
virtual int compare(const Projection &p) const
Definition: AliceCommon.hh:359
std::vector< GenParticle const * > particles(const GenEvent *ge)
Definition: RivetHepMC.hh:36
virtual int compare(const Projection &p) const
Definition: AliceCommon.hh:247
CLMultiplicity< true > CL0Multiplicity
Definition: AliceCommon.hh:181
CLMultiplicity()
Definition: AliceCommon.hh:126
const Cut CL1acceptance
Definition: AliceCommon.hh:54
V0Multiplicity< 0 > V0MMultiplicity
Definition: AliceCommon.hh:107
Base class for projections returning a bool corresponding to a trigger.
Definition: TriggerProjection.hh:19
virtual int compare(const Projection &p) const
Definition: AliceCommon.hh:83
Cmp< Projection > mkPCmp(const Projection &otherparent, const std::string &pname) const
Definition: Projection.cc:55
const PROJ & apply(const Event &evt, const Projection &proj) const
Definition: ProjectionApplier.hh:86
const Cut & open()
Fully open cut singleton, accepts everything.
Definition: Cuts.cc:81
bool isPrimaryPID(const HepMC::GenParticle *p) const
Definition: AliceCommon.hh:390
Definition: AliceCommon.hh:33
virtual ~V0AndTrigger()
Definition: AliceCommon.hh:297
Project out all final-state particles in an event. Probably the most important projection in Rivet! ...
Definition: FinalState.hh:12
const PROJ & declare(const PROJ &proj, const std::string &name)
Register a contained projection (user-facing version)
Definition: ProjectionApplier.hh:160
virtual int compare(const Projection &p) const
Definition: AliceCommon.hh:318
Definition: AliceCommon.hh:280
virtual void project(const Event &e)
Definition: AliceCommon.hh:150
virtual std::unique_ptr< Rivet::Projection > clone() const
Definition: AliceCommon.hh:235
V0Trigger()
Definition: AliceCommon.hh:205
virtual void project(const Event &e)
Definition: AliceCommon.hh:304
Primary particle definition based on PDG code.
virtual std::unique_ptr< Rivet::Projection > clone() const
Definition: AliceCommon.hh:160
virtual std::unique_ptr< Rivet::Projection > clone() const
Definition: AliceCommon.hh:370
Definition: AliceCommon.hh:120
Base class for all Rivet projections.
Definition: Projection.hh:29
const Cut V0Aacceptance
Definition: AliceCommon.hh:36
virtual std::unique_ptr< Rivet::Projection > clone() const
Definition: AliceCommon.hh:74
Definition: AliceCommon.hh:344
V0Multiplicity()
Definition: AliceCommon.hh:39
CLMultiplicity< false > CL1Multiplicity
Definition: AliceCommon.hh:187
const Cut V0Cacceptance
Definition: AliceCommon.hh:42
virtual ~V0Trigger()
Definition: AliceCommon.hh:218
virtual std::unique_ptr< Rivet::Projection > clone() const
Definition: AliceCommon.hh:328
void clear()
Unset the value.
Definition: SingleValueProjection.hh:47