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: