NAIA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
NAIA Namespace Reference

Namespaces

 _private
 
 Ecal
 
 Logging
 
 MCTruth
 
 NtpTools
 
 Rich
 
 Tof
 
 TrdK
 
 TrTrack
 

Classes

class  Event
 Event object. More...
 
class  MultiFileChain
 
class  MultiTreeChain
 
class  SingleTreeChain
 
class  SkimTreeHandle
 Helper class to ease skimming operations. More...
 
class  DAQData
 Container class for DAQ info. More...
 
class  DAQ
 Accessor class for DAQ info. More...
 
class  EcalBaseData
 Container class for base Ecal info. More...
 
class  EcalPlusData
 Container class for additional Ecal info. More...
 
class  EcalBase
 Accessor class for EcalBase info. More...
 
class  EcalPlus
 Accessor class for EcalPlus info. More...
 
class  EventSummaryData
 Container class for base EventSummary info. More...
 
class  EventSummary
 Accessor class for EventSummary info. More...
 
class  FileInfo
 Container class for processed File information. More...
 
class  MCFileInfo
 Container class for additional MC File information. More...
 
class  HeaderData
 Container class for event Header info. More...
 
class  Header
 Accessor class for event Header info. More...
 
struct  MCParticle
 Simple struct to describe a MC particle. More...
 
class  MCTruthBaseData
 Container class for base MCTruth info. More...
 
class  MCTruthPlusData
 Container class for additional MCTruth info. More...
 
class  MCTruthBase
 Accessor class for MCTruthBase info. More...
 
class  MCTruthPlus
 Accessor class for MCTruthPlus info. More...
 
class  Version
 Container class for versioning info. More...
 
class  OnDemandContainer
 Mixin class to add "read-on-demand" behavior to an existing container class. More...
 
class  RichBaseData
 Container class for base Rich info. More...
 
class  RichBase
 Accessor class for base Rich info. More...
 
class  RichPlusData
 Container class for additional Rich info. More...
 
class  RichPlus
 Accessor class for additional Rich info. More...
 
class  RTIInfo
 Container class for RTI info. More...
 
class  TofBaseData
 Container class for base Tof info. More...
 
class  TofPlusData
 Container class for additional Tof info. More...
 
class  TofBase
 Accessor class for base Tof info. More...
 
class  TofPlus
 Accessor class for additional Tof info. More...
 
class  TofBaseStandalone
 Accessor class for base Tof info (standalone reconstruction) More...
 
class  TofPlusStandalone
 Accessor class for additional Tof info (standalone reconstruction) More...
 
class  TrdKBaseData
 Container class for base Trd info. More...
 
class  TrdKBase
 Accessor class for base TrdK info. More...
 
class  TrdKBaseStandalone
 Accessor class for base TrdK info (standalone reconstruction) More...
 
class  TrTrackBaseData
 Container class for base TrTrack info. More...
 
class  TrTrackPlusData
 Container class for additional TrTrack info. More...
 
class  TrTrackBase
 Accessor class for base TrTrack info. More...
 
class  TrTrackPlus
 Accessor class for additional TrTrack info. More...
 
class  UnbExtHitBaseData
 Container class for base unbiased external hits info. More...
 
class  UnbExtHitBase
 Accessor class for base unbiased external hits info. More...
 
class  NtpSelector
 
class  Benchmark
 
class  Stopwatch
 

Typedefs

template<class T >
using EcalEnergyVariable = std::vector< T >
 
template<class T >
using EcalLikelihoodVariable = std::vector< T >
 
template<class T >
using EcalBDTVariable = std::vector< T >
 
template<class T >
using RichBetaVariable = std::map< Rich::BetaType, T >
 
template<class T >
using TofChargeVariable = std::map< Tof::ChargeType, T >
 
template<class T >
using TofBetaVariable = std::map< Tof::BetaType, T >
 
template<class T >
using TofClusterTypeVariable = std::map< Tof::BetaClusterType, T >
 
template<class T >
using TrdChargeVariable = std::vector< T >
 
template<class T >
using TrdLikelihoodVariable = std::vector< T >
 
template<class T >
using TrdLikelihoodRVariable = std::vector< T >
 
template<class T >
using TrdOnTrackVariable = std::vector< T >
 
template<class T >
using TrackChargeVariable = std::map< TrTrack::ChargeRecoType, T >
 
template<class T >
using TrackFitVariable = std::map< TrTrack::Fit, std::map< TrTrack::Span, T >>
 
template<class T >
using TrackFitOnlyVariable = std::map< TrTrack::Fit, T >
 
template<class T >
using TrackSideVariable = std::map< TrTrack::Side, T >
 
template<class T >
using TrackFitPosVariable = std::map< TrTrack::FitPositionHeight, T >
 
template<class T >
using TrackDistanceVariable = std::map< TrTrack::DistanceFromTrack, T >
 
template<class T >
using HitChargeVariable = std::map< TrTrack::ChargeRecoType, T >
 
template<class T >
using LayerVariable = std::map< unsigned int, T >
 

Enumerations

enum  Category {
  Category::None = 0, Category::HasTof = 1 << 0, Category::HasTrack = 1 << 1, Category::HasEcal = 1 << 2,
  Category::HasTrd = 1 << 3, Category::HasRich = 1 << 4, Category::HasTofStandalone = 1 << 5, Category::HasTrdStandalone = 1 << 6,
  Category::Charge1_Trk = 1 << 7, Category::Charge2_Trk = 1 << 8, Category::ChargeGT2_Trk = 1 << 9, Category::Charge1_Tof = 1 << 10,
  Category::Charge2_Tof = 1 << 11, Category::ChargeGT2_Tof = 1 << 12
}
 

Functions

bool operator== (const SingleTreeChain::EventItr &lhs, const SingleTreeChain::EventItr &rhs)
 
bool operator!= (const SingleTreeChain::EventItr &lhs, const SingleTreeChain::EventItr &rhs)
 
SingleTreeChain::EventItr begin (SingleTreeChain &chain)
 
SingleTreeChain::EventItr end (SingleTreeChain &chain)
 
std::vector< std::string > TokenizeString (const std::string &input, const char separator)
 Utility function that splits a string according to the provided separator. More...
 
template<typename T , typename Key , typename Value >
std::enable_if
< std::is_convertible< T, Key >
::value, bool >::type 
KeyExists (T key, const std::map< Key, Value > &container)
 
template<typename T , typename Value >
std::enable_if
< std::is_convertible< T,
size_t >::value, bool >::type 
KeyExists (T key, const std::vector< Value > &container)
 
template<typename T , typename Key , typename Value >
std::enable_if
< std::is_convertible< T, Key >
::value, bool >::type 
ContainsKeys (const std::map< Key, Value > &container, T key)
 
template<typename T , typename Key >
std::enable_if
< std::is_convertible< Key,
size_t >::value, bool >::type 
ContainsKeys (const std::vector< T > &container, Key key)
 
template<typename T , typename Key , typename... Keys, typename Value >
std::enable_if
< std::is_convertible< T, Key >
::value, bool >::type 
ContainsKeys (const std::map< Key, Value > &container, T key, Keys...keys)
 
template<typename T , typename Key , typename... Keys>
std::enable_if
< std::is_convertible< Key,
size_t >::value, bool >::type 
ContainsKeys (const std::vector< T > &container, Key key, Keys...keys)
 
auto getLogger (const std::string &fnName)
 Create a new logger with a given function name. More...
 
MCParticle GetMCParticle (const MCEventgR &mcp)
 
unsigned int TkIDToLayerJ (int tkID)
 
MCTruthPlusData::TrMCHit GetTrMCHit (TrTrackR *pTrTrack, unsigned int jLayer, double match_radius=0.1)
 
template<typename ValueType , long unsigned int N>
constexpr int FindBin (ValueType value, const std::array< ValueType, N > &bins)
 
template<typename ValueType >
int FindBin (ValueType value, const std::map< unsigned int, std::pair< ValueType, ValueType >> &bins)
 
float ApplyGeomCorrection (const TrackFitVariable< float > &Rigidity, Fit fit, Span span, TrGeometry trGeom)
 
static double RigidityCorrection ()
 
static bool TrackHasExtHits (TrTrackR *trackPtr, Span span)
 
void ComputePatterns (TrTrackR *trackPtr)
 

Variables

static const
std::unordered_map
< std::string, std::function
< void(Event &)> > 
evDisablers
 
static float amu = 0.93146
 
auto particleSorter
 
static constexpr double Re = 6372.795477598e5
 
auto GoodParticle
 
static constexpr float threshold = 15
 
static constexpr float TRDCenter = 115
 
static std::array< unsigned
long int, numSpans > 
patterns = {3, 5, 6, 7, 0, 0, 3}
 
std::array< int, numFits > fitAlgoCode {1, 6}
 
static constexpr std::array
< double, 9 > 
powersOfTen = {1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8}
 

Typedef Documentation

template<class T >
using NAIA::EcalBDTVariable = typedef std::vector<T>

One number for each BDT type. Uses the Ecal::BDTType enum for access

Definition at line 34 of file Ecal.h.

template<class T >
using NAIA::EcalEnergyVariable = typedef std::vector<T>

One number for each energy reconstruction type. Uses the Ecal::EnergyRecoType enum for access

Definition at line 26 of file Ecal.h.

template<class T >
using NAIA::EcalLikelihoodVariable = typedef std::vector<T>

One number for each likelihood type. Uses the Ecal::LikelihoodType enum for access

Definition at line 30 of file Ecal.h.

template<class T >
using NAIA::HitChargeVariable = typedef std::map<TrTrack::ChargeRecoType, T>

One number for each Tracker charge reconstruction type. Uses the TrTrack::ChargeRecoType enum for access

Definition at line 28 of file UnbExtHit.h.

template<class T >
using NAIA::RichBetaVariable = typedef std::map<Rich::BetaType, T>

One number for each RICH beta reconstruction type. Uses the Rich::BetaType enum for access

Definition at line 29 of file Rich.h.

template<class T >
using NAIA::TofBetaVariable = typedef std::map<Tof::BetaType, T>

One number for each Tof beta reconstruction type. Uses the Tof::BetaType enum for access

Definition at line 33 of file Tof.h.

template<class T >
using NAIA::TofChargeVariable = typedef std::map<Tof::ChargeType, T>

One number for each kind of Tof charge (total, upper or lower tof). Uses the Tof::ChargeType enum for access

Definition at line 29 of file Tof.h.

template<class T >
using NAIA::TofClusterTypeVariable = typedef std::map<Tof::BetaClusterType, T>

One number for each Tof cluster type. Uses the Tof::BetaClusterType enum for access

Definition at line 37 of file Tof.h.

template<class T >
using NAIA::TrackChargeVariable = typedef std::map<TrTrack::ChargeRecoType, T>

One number for each Tracker charge reconstruction type. Uses the TrTrack::ChargeRecoType enum for access

Definition at line 27 of file TrTrack.h.

template<class T >
using NAIA::TrackDistanceVariable = typedef std::map<TrTrack::DistanceFromTrack, T>

One number for each distance-from-the-track value. Uses the TrTrack::DistanceFromTrack enum for access

Definition at line 49 of file TrTrack.h.

template<class T >
using NAIA::TrackFitOnlyVariable = typedef std::map<TrTrack::Fit, T>

One number for each Track fit type. Uses the TrTrack::Fit enum for access

Definition at line 37 of file TrTrack.h.

template<class T >
using NAIA::TrackFitPosVariable = typedef std::map<TrTrack::FitPositionHeight, T>

One number for each fixed z-position in the Tracker. Uses the TrTrack::FitPositionHeight enum for access

Definition at line 45 of file TrTrack.h.

template<class T >
using NAIA::TrackFitVariable = typedef std::map<TrTrack::Fit, std::map<TrTrack::Span, T>>

One number for each track fitting type, and for each track span type (in order to properly define a track you need both). Uses the TrTrack::Fit and TrTrack::Span enums for access. Use the TrTrackBase::FitIDExists helper function to check that a given entry exists in the container

Definition at line 33 of file TrTrack.h.

template<class T >
using NAIA::TrackSideVariable = typedef std::map<TrTrack::Side, T>

One number for each Tracker side. Uses the TrTrack::Side enum for access

Definition at line 41 of file TrTrack.h.

template<class T >
using NAIA::TrdChargeVariable = typedef std::vector<T>

One number for each TRD charge reconstruction type (Total, upper or lower half). Uses the TrdK::ChargeType enum for access

Definition at line 32 of file TrdK.h.

template<class T >
using NAIA::TrdLikelihoodRVariable = typedef std::vector<T>

One number for each TRD likelihood ratio type (e/p, e/He, p/He). Uses the TrdK::LikelihoodRType enum for access

Definition at line 40 of file TrdK.h.

template<class T >
using NAIA::TrdLikelihoodVariable = typedef std::vector<T>

One number for each TRD likelihood type (e, p, d, He). Uses the TrdK::LikelihoodType enum for access

Definition at line 36 of file TrdK.h.

template<class T >
using NAIA::TrdOnTrackVariable = typedef std::vector<T>

One number for on-track / off-track TRD hits. Uses the TrdK::QualType enum for access

Definition at line 44 of file TrdK.h.

Function Documentation

float NAIA::ApplyGeomCorrection ( const TrackFitVariable< float > &  Rigidity,
Fit  fit,
Span  span,
TrGeometry  trGeom 
)
SingleTreeChain::EventItr NAIA::begin ( SingleTreeChain &  chain)
inline

Definition at line 296 of file SingleTreeChain.h.

Referenced by FindBin(), and GetTrMCHit().

void NAIA::ComputePatterns ( TrTrackR *  trackPtr)
SingleTreeChain::EventItr NAIA::end ( SingleTreeChain &  chain)
inline
template<typename ValueType , long unsigned int N>
constexpr int NAIA::FindBin ( ValueType  value,
const std::array< ValueType, N > &  bins 
)

Definition at line 16 of file RTIInfoFill.cpp.

References begin(), and end().

template<typename ValueType >
int NAIA::FindBin ( ValueType  value,
const std::map< unsigned int, std::pair< ValueType, ValueType >> &  bins 
)

Definition at line 22 of file RTIInfoFill.cpp.

References begin(), and end().

auto NAIA::getLogger ( const std::string &  fnName)
inline

Create a new logger with a given function name.

Parameters
fnNamethe logger name
Returns
a spdlog logger

Definition at line 18 of file Logging.h.

Referenced by NAIA::SingleTreeChain::CreateSkimTree(), NAIA::SingleTreeChain::GetFileInfoTree(), NAIA::SingleTreeChain::GetRTITree(), NAIA::_private::LimitedWarning< times_to_run >::operator()(), and NAIA::SingleTreeChain::SetEntryList().

MCParticle NAIA::GetMCParticle ( const MCEventgR &  mcp)

Definition at line 11 of file MCTruthFill.cpp.

References amu, and NAIA::MCParticle::Coo.

MCTruthPlusData::TrMCHit NAIA::GetTrMCHit ( TrTrackR *  pTrTrack,
unsigned int  jLayer,
double  match_radius = 0.1 
)
bool NAIA::operator!= ( const SingleTreeChain::EventItr &  lhs,
const SingleTreeChain::EventItr &  rhs 
)
inline

Definition at line 292 of file SingleTreeChain.h.

bool NAIA::operator== ( const SingleTreeChain::EventItr &  lhs,
const SingleTreeChain::EventItr &  rhs 
)
inline
static double NAIA::RigidityCorrection ( )
static

Definition at line 13 of file TrTrackFill.cpp.

unsigned int NAIA::TkIDToLayerJ ( int  tkID)

Definition at line 25 of file MCTruthFill.cpp.

std::vector<std::string> NAIA::TokenizeString ( const std::string &  input,
const char  separator 
)
inline

Utility function that splits a string according to the provided separator.

Mainly used internally to parse the AMS datacard. Available anyway since it looks very useful.

Parameters
inputThe string to split
separatorThe character deciding when to split the string
Returns
The tokens resulting from the string splitting

Definition at line 30 of file Utils.h.

References end().

Referenced by NAIA::SingleTreeChain::CreateSkimTree().

static bool NAIA::TrackHasExtHits ( TrTrackR *  trackPtr,
Span  span 
)
static

Variable Documentation

float NAIA::amu = 0.93146
static

Definition at line 9 of file MCTruthFill.cpp.

Referenced by GetMCParticle().

const std::unordered_map<std::string, std::function<void(Event &)> > NAIA::evDisablers
static
Initial value:
= {
{"EventSummary", [](Event &event) { event.evSummary.DisableIO(); }},
{"DAQ", [](Event &event) { event.daq.DisableIO(); }},
{"TofBase", [](Event &event) { event.tofBase.DisableIO(); }},
{"TofPlus", [](Event &event) { event.tofPlus.DisableIO(); }},
{"TofBaseStandalone", [](Event &event) { event.tofBaseSt.DisableIO(); }},
{"TofPlusStandalone", [](Event &event) { event.tofPlusSt.DisableIO(); }},
{"EcalBase", [](Event &event) { event.ecalBase.DisableIO(); }},
{"EcalPlus", [](Event &event) { event.ecalPlus.DisableIO(); }},
{"TtrTrackBase", [](Event &event) { event.trTrackBase.DisableIO(); }},
{"TtrTrackPlus", [](Event &event) { event.trTrackPlus.DisableIO(); }},
{"TrdKBase", [](Event &event) { event.trdKBase.DisableIO(); }},
{"TrdKBaseStandalone", [](Event &event) { event.trdKBaseSt.DisableIO(); }},
{"RichBase", [](Event &event) { event.richBase.DisableIO(); }},
{"RichPlus", [](Event &event) { event.richPlus.DisableIO(); }},
{"UnbExtHitBase", [](Event &event) { event.extHitBase.DisableIO(); }},
{"MCTruthBase", [](Event &event) { event.mcTruthBase.DisableIO(); }},
{"MCTruthPlus", [](Event &event) { event.mcTruthPlus.DisableIO(); }},
}

Definition at line 244 of file SingleTreeChain.cpp.

Referenced by NAIA::SingleTreeChain::CreateSkimTree().

std::array<int, numFits> NAIA::fitAlgoCode {1, 6}

Definition at line 35 of file TrTrackFill.cpp.

auto NAIA::GoodParticle

Definition at line 28 of file RTIInfoFill.cpp.

auto NAIA::particleSorter
Initial value:
= [](const MCEventgR &a, const MCEventgR &b) -> bool {
return true;
else if (a.parentID > b.parentID)
return false;
else {
return true;
else if (a.Coo[2] < b.Coo[2])
return false;
else
return a.Momentum > b.Momentum;
}
}

Definition at line 76 of file MCTruthFill.cpp.

std::array<unsigned long int, numSpans> NAIA::patterns = {3, 5, 6, 7, 0, 0, 3}
static

Definition at line 34 of file TrTrackFill.cpp.

Referenced by ComputePatterns().

constexpr std::array<double, 9> NAIA::powersOfTen = {1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8}
static

Definition at line 55 of file TrTrackFill.cpp.

Referenced by ComputePatterns().

constexpr double NAIA::Re = 6372.795477598e5
static

Definition at line 13 of file RTIInfoFill.cpp.

constexpr float NAIA::threshold = 15
static

Definition at line 8 of file TrdKFill.cpp.

constexpr float NAIA::TRDCenter = 115
static

Definition at line 9 of file TrdKFill.cpp.