Class for muon bundle categories.
More...
#include <JMuonBundleCategory.hh>
Class for muon bundle categories.
Definition at line 80 of file JMuonBundleCategory.hh.
◆ clone_type
template<class JClonable_t , class JDerived_t >
◆ JMuonBundleCategory() [1/4]
JAANET::JMuonBundleCategory::JMuonBundleCategory |
( |
| ) |
|
|
inline |
Default constructor.
Definition at line 86 of file JMuonBundleCategory.hh.
86 :
91 {}
static const JRange< int > DEFAULT_BUNDLE_MULTIPLICITY_RANGE
Default bundle multiplicity range [-].
static const JRange< double > DEFAULT_BUNDLE_ENERGY_RANGE
Default bundle energy range [GeV].
static const JRange< double > DEFAULT_BUNDLE_COSINE_ZENITH_ANGLE_RANGE
Default bundle cosine zenith angle range [-].
static const double DEFAULT_BUNDLE_RADIAL_EXTENT
Default bundle radial extent [m].
JRange< double > Erange
energy range [GeV]
JRange< double > coszRange
cosine zenith-angle range [-]
double Rmax
maximum radial extent [m]
JRange< int > Mrange
multiplicity range [-]
◆ JMuonBundleCategory() [2/4]
JAANET::JMuonBundleCategory::JMuonBundleCategory |
( |
const int | primaryType | ) |
|
|
inline |
Constructor.
- Parameters
-
primaryType | cosmic-ray primary PDG identifier |
Definition at line 99 of file JMuonBundleCategory.hh.
99 :
104 {
105 this->primaryType = primaryType;
106
107 check_validity();
108 }
◆ JMuonBundleCategory() [3/4]
JAANET::JMuonBundleCategory::JMuonBundleCategory |
( |
const int | primaryType, |
|
|
const JRange< double > & | Erange, |
|
|
const JRange< double > & | coszRange, |
|
|
const JRange< int > & | Mrange, |
|
|
const double | Rmax ) |
|
inline |
Constructor.
- Parameters
-
primaryType | cosmic-ray primary PDG identifier |
Erange | energy range |
coszRange | cosine zenith-angle range |
Mrange | multiplicity range |
Rmax | maximum radial extent |
Definition at line 120 of file JMuonBundleCategory.hh.
124 :
129 {
130 this->primaryType = primaryType;
131
132 check_validity();
133 }
◆ JMuonBundleCategory() [4/4]
JAANET::JMuonBundleCategory::JMuonBundleCategory |
( |
const JHead & | header | ) |
|
|
inline |
Constructor.
- Parameters
-
Definition at line 141 of file JMuonBundleCategory.hh.
141 :
143 {
146
149 this->
Erange = header.cut_in.E;
152 this->primaryType = header.primary.type;
153 this->
Erange = header.cut_primary.E;
154 this->
coszRange = header.cut_primary.cosT;
155 }
156
157 check_validity();
158 }
bool is_corsika(const JHead &header)
Check for generator.
bool is_mupage(const JHead &header)
Check for generator.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JMuonBundleCategory()
Default constructor.
static const int PDG_MUONBUNDLE
muon bundle reached the can level (mupage)
◆ is_valid()
bool JAANET::JMuonBundleCategory::is_valid |
( |
| ) |
const |
|
inlinefinaloverride |
Check if muon bundle category is valid.
- Returns
- true if muon bundle category is valid; else false
Definition at line 166 of file JMuonBundleCategory.hh.
167 {
171 Mrange.getLowerLimit() >= 0 &&
174 }
bool is_muon_bundle_primary(const int type)
Auxiliary function to check if given PDG code corresponds to a valid muon bundle primary type.
bool is_valid() const override final
Check if muon bundle category is valid.
◆ match() [1/2]
bool JAANET::JMuonBundleCategory::match |
( |
const JHead & | header | ) |
const |
|
inlinefinaloverride |
Check whether this event category matches with the given MC header.
- Parameters
-
- Returns
- true if matching; else false
Definition at line 183 of file JMuonBundleCategory.hh.
184 {
186
188
189 return (this->primaryType == cat.getPrimaryType() &&
190 this->Erange .overlap (cat.Erange) &&
191 this->coszRange.overlap (cat.coszRange));
192
193 } else {
194
195 return false;
196 }
197 }
◆ match() [2/2]
bool JAANET::JMuonBundleCategory::match |
( |
const Evt & | event | ) |
const |
|
inlinefinaloverride |
Check whether given event matches with this event category.
- Parameters
-
- Returns
- true if matching; else false
Definition at line 206 of file JMuonBundleCategory.hh.
207 {
210
212
216
219
223
224 int multiplicity = 0;
225 double maxR = 0.0;
226
227 for (vector<Trk>::const_iterator i = event.
mc_trks.cbegin(); i != event.
mc_trks.cend(); ++i) {
229
232
233 const double R = getCross<JVector3D>(dp, pi - pp).
getLength();
234
235 if (R > maxR) { maxR = R; }
236
237 ++multiplicity;
238 }
239 }
240
242 }
Data structure for direction in three dimensions.
Data structure for position in three dimensions.
const JPosition3D & getPosition() const
Get position.
JVersor3D getDirection(const JVector3D &pos) const
Get photon direction of Cherenkov light on PMT.
double getLength() const
Get length.
JTrack3E getTrack(const Trk &track)
Get track.
bool is_muonbundle(const Trk &track)
Test whether given track is a (anti-)muon.
const Trk & get_primary(const Evt &evt)
Auxiliary function to retrieve the primary track of an event.
bool is_finalstate(const Trk &track)
Test whether given track corresponds to a final state particle.
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
◆ less()
bool JAANET::JMuonBundleCategory::less |
( |
const JEvtCategory & | category | ) |
const |
|
inlinefinaloverride |
Less-than method.
Note: The energy, cosine zenith-angle and multiplicity ranges are compared based on the lower limit first.
If the lower limits are equal, the upper limits are compared.
- Parameters
-
- Returns
- true if first this event category less than given event category; else false
Definition at line 254 of file JMuonBundleCategory.hh.
255 {
256#define RETURN_IF_DIFFERENT_RANGE(A, B) \
257 if (A != B) { return (A.getLowerLimit() == B.getLowerLimit() ? \
258 A.getUpperLimit() < B.getUpperLimit() : \
259 A.getLowerLimit() < B.getLowerLimit() ); }
260
261 if (this->primaryType != category.getPrimaryType()) {
262 return this->primaryType < category.getPrimaryType();
263 }
264
266
267 if (p == NULL) { return false; }
268
272
273 return this->
Rmax < p->Rmax;
274
275#undef RETURN_IF_DIFFERENT_RANGE
276 }
#define RETURN_IF_DIFFERENT_RANGE(A, B)
◆ getProperties() [1/2]
Get properties of this class.
- Parameters
-
equation | equation parameters |
Definition at line 284 of file JMuonBundleCategory.hh.
285 {
286 return JMuonBundleCategoryHelper(*this, equation);
287 }
◆ getProperties() [2/2]
Get properties of this class.
- Parameters
-
equation | equation parameters |
Definition at line 295 of file JMuonBundleCategory.hh.
296 {
297 return JMuonBundleCategoryHelper(*this, equation);
298 }
◆ clone()
template<class JClonable_t , class JDerived_t >
|
inlineoverridevirtualinherited |
Get clone of this object.
- Returns
- pointer to newly created object
Reimplemented in JPHYSICS::JPD0Transformer_t< JArgument_t >, JPHYSICS::JPDFTransformer< 2, JArgument_t >, JPHYSICS::JPDFTransformer< 3, JArgument_t >, JPHYSICS::JPDFTransformer< 4, JArgument_t >, JPHYSICS::JPDFTransformer< 5, JArgument_t >, JPHYSICS::JPDFTransformer_t< JArgument_t >, JPHYSICS::JPDGTransformer_t< JArgument_t >, and JTOOLS::JMultiMapTransformer< N, JArgument_t >::JMultiMapDefaultTransformer.
Definition at line 69 of file JClonable.hh.
70 {
71 return new JDerived_t(static_cast<const JDerived_t&>(*this));
72 }
◆ Erange
JRange<double> JAANET::JMuonBundleCategory::Erange |
|
private |
◆ coszRange
JRange<double> JAANET::JMuonBundleCategory::coszRange |
|
private |
◆ Mrange
JRange<int> JAANET::JMuonBundleCategory::Mrange |
|
private |
◆ Rmax
double JAANET::JMuonBundleCategory::Rmax |
|
private |
The documentation for this struct was generated from the following file: