ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
DerivationFramework Namespace Reference

THE reconstruction tool. More...

Namespaces

 CellsInCone
 
 ClustersInCone
 
 TriggerMatchingUtils
 

Classes

class  AnalysisMuonThinningAlg
 
class  AnyVertexSkimmingTool
 
class  AsgSelectionToolWrapper
 
class  AugmentationToolExample
 
class  AugmentationToolLeadingJets
 
class  AugOriginalCounts
 Augmentation with primary vertex counts (before thinning) More...
 
class  BadBatmanAugmentationTool
 
struct  BasedInvCache
 
class  BdKstarMuMu_metadata
 Store JO metadata specific to the Bd->KstarMuMu analysis. More...
 
class  BkgElectronClassification
 
class  Bmumu_metadata
 Store JO metadata specific to the Bmumu analysis. More...
 
class  Bmumu_reco_mumu
 
class  BmumuThinningTool
 Primary vertex, track and muon thinning for Bmumu analysis. More...
 
class  BMuonTrackIsoTool
 
class  BoostedHadTopAndTopPairFilterAugmentation
 
class  BoostedHadTopAndTopPairFilterTool
 
class  BPhysAddMuonBasedInvMass
 Augment secondary vertices with muon-information-based mass. More...
 
class  BPhysBGammaFinder
 
class  BPhysConversionFinder
 
class  BPhysMetadataBase
 
class  BPhysPVCascadeTools
 
class  BPhysPVThinningTool
 
class  BPhysPVTools
 
class  BPhysVarBlinder
 
class  BPhysVertexTrackBase
 
class  BTrackVertexMapLogger
 
class  BVertexClosestTrackTool
 
class  BVertexTrackIsoTool
 
class  CaloClusterThinning
 
class  CaloIsolationDecorAlg
 
struct  Candidate
 
class  Cascade3Plus1
 
class  CascadeTools
 
class  CellsInConeThinning
 
class  CfAthAlgTool
 
class  ClassifyAndCalculateHFAugmentation
 
class  ClassifyAndCalculateHFTool
 
class  ClusterEnergyPerLayerDecorator
 Decorate egamma objects with the energy per layer for a rectangular cluster of size neta X nphi built on the fly. More...
 
class  CollectionMakerHelpers
 
struct  Combination
 
class  CommonAugmentation
 
class  CompactHardTruth
 
struct  DecayGraphHelper
 
class  DeltaRTool
 
class  DerivationKernel
 
class  DESDM_EXOTHIP_SkimmingTool
 
class  DiMuonTaggingAlg
 
class  DiphotonVertexDecorator
 
class  DistanceInTrainAugmentationTool
 
class  DiTauTrackParticleThinning
 
class  DRAW_ZMUMUSkimmingTool
 
class  EGammaClusterCoreCellRecovery
 
class  EgammaTrackParticleThinning
 
class  EGammaTracksThinning
 
class  EGElectronAmbiguityTool
 
class  EGElectronLikelihoodToolWrapper
 
class  EGInvariantMassTool
 
class  EGPhotonCleaningWrapper
 
class  EGSelectionToolWrapper
 
class  EGTransverseMassTool
 
class  EventInfoBSErrDecorator
 
class  EventInfoPixelDecorator
 
class  EventInfoPixelModuleStatusMonitoring
 
class  ExpressionParserHelper
 Helper class for using ExpressionParsing::ExpressionParser. More...
 
class  FilterCombinationAND
 
class  FilterCombinationOR
 
class  FourLeptonVertexingAlgorithm
 
class  FourMuonTool
 
class  GainDecorator
 
class  GenericObjectThinning
 
class  GenericTruthThinning
 
class  GenFilterTool
 
class  GoodRunsListFilterAlgorithm
 
class  HadronOriginClassifier
 
class  HadronOriginDecorator
 
class  HardScatterVertexDecorator
 
class  HardTruthThinning
 
class  HICentralityDecorationTool
 
class  HIGlobalAugmentationTool
 
class  HITrackParticleThinningTool
 
class  HITrackQualityAugmentationTool
 
class  IAugmentationTool
 
class  IDTrackCaloDepositsDecoratorAlg
 
class  InDetTrackSelectionToolWrapper
 
class  InvariantMassTool
 
class  ISkimmingTool
 
class  IsolationTrackDecorator
 
class  IThinningTool
 
class  JetCaloClusterThinning
 
class  JetExternalAssocTool
 
class  JetLargeD0TrackParticleThinning
 
class  JetMatchingTool
 
class  JetMSVAugmentation
 
class  JetTrackParticleThinning
 
class  JpsiPlusDpstCascade
 
class  JpsiPlusDs1Cascade
 
class  JpsiPlusDsCascade
 
class  JpsiPlusPsiCascade
 
class  JpsiPlusV0Cascade
 
class  JpsiXPlus2V0
 
class  JpsiXPlusDisplaced
 
class  LArCollisionTimeDecorator
 
class  LockDecorations
 Algorithm to explicitly lock a set of decorations. More...
 
class  MaxCellDecorator
 
class  MbtsToVectorsTool
 
class  MenuTruthThinning
 
class  MergedElectronDetailsDecorator
 
class  MergerTester
 Class-algorithm for track particle collection merging. More...
 
class  METRemappingAlg
 
class  METTriggerAugmentationTool
 
class  MuonExtrapolationTool
 
class  MuonJetDrTool
 
class  MuonTPExtrapolationAlg
 
class  MuonTrackParticleThinning
 
class  MuonTruthClassifierFallback
 
class  MuonTruthIsolationDecorAlg
 
class  MuPlusDpstCascade
 
class  MuPlusDsCascade
 
class  NTUPStringSkimmingTool
 
class  PdgConditional
 
class  PFlowAugmentationTool
 
class  PflowIsolationDecorAlg
 
class  PhotonsDirectionTool
 
class  PhotonVertexSelectionWrapper
 
class  PixeldEdxTrackParticleThinning
 
class  PixelNtupleMaker
 
class  PrescaleTool
 
class  PseudoTrackSelector
 Class-algorithm for pseudo track selection. More...
 
class  PsiPlusPsiCascade
 
class  PsiPlusPsiSingleVertex
 
class  RCJetSubstructureAug
 
class  Reco_4mu
 
class  Reco_mumu
 
class  Reco_V0Finder
 
class  Reco_Vertex
 
class  ReVertex
 
class  SaturatedTriggerTower
 
class  Select_Bmumu
 
class  Select_onia2mumu
 
class  SkimmingToolExample
 
class  SkimmingToolEXOT14
 
class  SkimmingToolEXOT5
 
class  SkimmingToolHIGG1
 
class  SkimmingToolHIGG2
 
class  SkimmingToolHIGG5VBF
 
class  StreamAuditorTool
 
class  SUSYGenFilterTool
 
class  SUSYSignalTagger
 
class  SV1TrackThinning
 
class  TagAndProbeTrackParticleThinning
 
class  TauIDDecoratorWrapper
 
class  TauJets_LepRMParticleThinning
 
class  TauThinningTool
 
class  TauTrackParticleThinning
 
class  TauTruthMatchingWrapper
 
class  Thin_vtxDuplicates
 
class  Thin_vtxTrk
 
class  ThinningToolExample
 
class  TileCellsDecorator
 
class  TileCellsMuonDecorator
 
class  TopHeavyFlavorFilterAugmentation
 
class  TrackIsolationDecorAlg
 
class  trackIsolationDecorator
 
class  TrackMeasurementThinning
 
class  TrackParametersAtPV
 
class  TrackParametersKVU
 
class  TrackParticleCaloCellDecorator
 
class  TrackParticleThinning
 
struct  TracksInCone
 
class  TrackStateOnSurfaceDecorator
 
class  TrackToVertexWrapper
 
class  TriggerCountToMetadata
 
class  TriggerGenericObjectThinningTool
 
class  TriggerMatchingAugmentation
 
class  TriggerMatchingTool
 Tool to perform trigger matching in the derivation framework. More...
 
class  TriggerSkimmingTool
 
class  TriggerTowerThinningAlg
 
class  Truth3CollectionMaker
 
class  TruthBornLeptonCollectionMaker
 
class  TruthCaloShowerDecorator
 
class  TruthCategoriesDecorator
 
class  TruthClassificationDecorator
 
class  TruthCollectionMaker
 
class  TruthCollectionMakerTau
 
class  TruthD2Decorator
 
class  TruthDecayCollectionMaker
 
class  TruthDressingTool
 
class  TruthEDDecorator
 
class  TruthIsolationTool
 
class  TruthLinkRepointTool
 
class  TruthMetaDataWriter
 
class  TruthNavigationDecorator
 
class  TruthPVCollectionMaker
 
class  TruthQGDecorationTool
 
class  TTbarPlusHeavyFlavorFilterTool
 
class  TVAAugmentationTool
 
class  UFOTrackParticleThinning
 
class  UnassociatedHitsDecorator
 
class  UnassociatedHitsGetterTool
 
class  UsedInVertexFitTrackDecorator
 
class  VertexCaloIsolation
 
struct  VertexCand
 
class  VertexPlus1TrackCascade
 
class  VertexTrackIsolation
 
class  ViewContainerThinning
 
class  VSITrackParticleThinning
 
class  xAODStringSkimmingTool
 
class  ZeeVertexRefittingTool
 

Typedefs

typedef std::vector< const xAOD::TrackParticle * > TrackBag
 
typedef std::vector< const xAOD::Muon * > MuonBag
 
typedef InDet::IInDetTrackSelectionTool TrkSelTool
 
typedef ElementLink< xAOD::VertexContainerVertexLink
 
typedef std::vector< VertexLinkVertexLinkVector
 
typedef ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
 Base 4 Momentum type for TrackParticle. More...
 
typedef ElementLink< xAOD::MuonContainerMuonsLink
 
typedef std::vector< MuonsLinkMuonsLinkVector
 
typedef ElementLink< xAOD::TrackParticleContainerTrackParticleLink
 
typedef std::vector< TrackParticleLinkTrackParticleLinkVector
 

Enumerations

enum  EEGInvariantMassToolParser { kParser1, kParser2, kNumEGInvariantMassToolParser }
 
enum  EJetTrPThinningParser {
  kJetSelection, kTrackThinning, kNumJetTPThinningParser, kJetSelection,
  kTrackThinning, kNumJetTPThinningParser
}
 
enum  EJetTrPThinningParser {
  kJetSelection, kTrackThinning, kNumJetTPThinningParser, kJetSelection,
  kTrackThinning, kNumJetTPThinningParser
}
 
enum  EJetParser { kRCJetSelection, kNumJetParser }
 
enum  EDvTrPThinningParser { kDvSelection, kdvTrackThinning, kNumDvTPThinningParser }
 
enum  EGenericTruthThinningParser { kGenericTruthThinningPartParser, kGenericTruthThinningParserNum }
 
enum  SUSYCountIndices {
  chi01, chi02, chi03, chi04,
  ch1plus, ch1minus, ch2plus, ch2minus,
  gluino, squark, antisquark, sbottom,
  stop, sbottom2, stop2, antisbottom,
  antistop, antisbottom2, antistop2, selecRminus,
  selecRplus, selecLminus, selecLplus, selnuL,
  smuonRminus, smuonRplus, smuonLminus, smuonLplus,
  smunuL, stau1minus, stau1plus, stau2minus,
  stau2plus, staunuL, unattributed, nParticleIndices
}
 
enum  EDeltaRToolParser { kDeltaRToolParser1, kDeltaRToolParser2, kDeltaRToolParserNum }
 
enum  EInvariantMassToolParser { kInvariantMassToolParser1, kInvariantMassToolParser2, kInvariantMassToolParserNum }
 

Functions

 AmgSymMatrix (3) BPhysAddMuonBasedInvMass
 
template<size_t N>
GenVecFourMom_t SumVector (const std::array< GenVecFourMom_t, N > &vectors)
 
template<class T_Parent , class T_Cont >
void createDecoratorKeys (T_Parent &parent, const SG::ReadHandleKey< T_Cont > &container_key, const std::string &prefix, const std::vector< std::string > &decor_names, std::vector< SG::WriteDecorHandleKey< T_Cont > > &decor_out)
 
template<class T_Cont , class T >
std::vector< SG::WriteDecorHandle< T_Cont, T > > createDecorators (const std::vector< SG::WriteDecorHandleKey< T_Cont > > &keys, const EventContext &ctx)
 
template<class dType , class ContType >
SG::WriteDecorHandle< ContType, dType > makeHandle (const EventContext &ctx, const SG::WriteDecorHandleKey< ContType > &key, const dType defValue=dType{})
 
int gluinoSquarkClassification (const std::array< int, 35 > &c)
 
int gauginoPairProduction (const std::array< int, 35 > &c)
 
int slepton (const std::array< int, 35 > &c)
 
int smuon (const std::array< int, 35 > &c)
 
unsigned int finalStateID (const int SUSY_Spart1_pdgId, const int SUSY_Spart2_pdgId)
 
int gluinoSquarkClassification (const std::array< int, nParticleIndices > &c)
 
int gauginoPairProduction (const std::array< int, nParticleIndices > &c)
 
int slepton (const std::array< int, nParticleIndices > &c)
 
int smuon (const std::array< int, nParticleIndices > &c)
 

Variables

constexpr double s_CONST = 1000./299.792
 

Detailed Description

THE reconstruction tool.

wrapper tool for tau truth matching

wrapper tool for decorating tau ID scores and WPs

Class holding an int or some function of an int for use in categorisation of pdg codes.

Algorithm to store decorate the IParticle with all energy deposits in the calorimeter needed for post fine tuning of the cut-based calorimeter tagging working points.

Algorithm to decorate the calorimeter isolation variables to the track particles.

Qi Zeng Nov 2016.

refit the primary vertex after removing the tracks of electrons from a Z->ee decay to imitate the primary vertex reconstruction in H->yy events with unconverted photons

Algorithm that refits all possible four lepton combinations to a common space point.

THE candidate selection tool.

Leptons are selected by exploting the common CP tools / Loose cut on the delta Z0 of the associated tracks is applied to avoid hopeless fits

Tool to build link to third party objects through the intermediate object e.g. b already has link to c this tool build a link from a to c by matching b to a, assuming thereis a one-to-one correspondence between a and b

The tool adds the following three decorations Vector containing all energy deposits std::vector<float> CaloDeposits Vector containing all energy losses std::vector<float> CaloElosses Vector declaring the type of the deposit/loss (EMB1,HEC0,etc.) std::vector<unit_16> CaloDepType Deposits can be either saved to the Muon particle itself or to the associated ID track particle However, in the latter case, the first ID track from the container is always decorated to ensure file integrety

Typedef Documentation

◆ GenVecFourMom_t

typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > DerivationFramework::GenVecFourMom_t

Base 4 Momentum type for TrackParticle.

Definition at line 27 of file Cascade3Plus1.cxx.

◆ MuonBag

typedef std::vector< const xAOD::Muon * > DerivationFramework::MuonBag

Definition at line 33 of file BPhysAddMuonBasedInvMass.h.

◆ MuonsLink

Definition at line 35 of file MuPlusDsCascade.cxx.

◆ MuonsLinkVector

Definition at line 36 of file MuPlusDsCascade.cxx.

◆ TrackBag

Definition at line 32 of file BPhysAddMuonBasedInvMass.h.

◆ TrackParticleLink

Definition at line 22 of file PsiPlusPsiSingleVertex.cxx.

◆ TrackParticleLinkVector

Definition at line 23 of file PsiPlusPsiSingleVertex.cxx.

◆ TrkSelTool

Definition at line 54 of file BPhysVertexTrackBase.h.

◆ VertexLink

Definition at line 23 of file Cascade3Plus1.cxx.

◆ VertexLinkVector

Definition at line 24 of file Cascade3Plus1.cxx.

Enumeration Type Documentation

◆ EDeltaRToolParser

Enumerator
kDeltaRToolParser1 
kDeltaRToolParser2 
kDeltaRToolParserNum 

Definition at line 25 of file DeltaRTool.h.

◆ EDvTrPThinningParser

Enumerator
kDvSelection 
kdvTrackThinning 
kNumDvTPThinningParser 

Definition at line 28 of file VSITrackParticleThinning.h.

◆ EEGInvariantMassToolParser

Enumerator
kParser1 
kParser2 
kNumEGInvariantMassToolParser 

Definition at line 25 of file EGInvariantMassTool.h.

26 {
27  kParser1,
28  kParser2,
30 };

◆ EGenericTruthThinningParser

Enumerator
kGenericTruthThinningPartParser 
kGenericTruthThinningParserNum 

Definition at line 27 of file GenericTruthThinning.h.

◆ EInvariantMassToolParser

Enumerator
kInvariantMassToolParser1 
kInvariantMassToolParser2 
kInvariantMassToolParserNum 

Definition at line 23 of file InvariantMassTool.h.

◆ EJetParser

Enumerator
kRCJetSelection 
kNumJetParser 

Definition at line 30 of file RCJetSubstructureAug.h.

◆ EJetTrPThinningParser [1/2]

Enumerator
kJetSelection 
kTrackThinning 
kNumJetTPThinningParser 
kJetSelection 
kTrackThinning 
kNumJetTPThinningParser 

Definition at line 27 of file JetTrackParticleThinning.h.

◆ EJetTrPThinningParser [2/2]

Enumerator
kJetSelection 
kTrackThinning 
kNumJetTPThinningParser 
kJetSelection 
kTrackThinning 
kNumJetTPThinningParser 

Definition at line 27 of file JetLargeD0TrackParticleThinning.h.

◆ SUSYCountIndices

Enumerator
chi01 
chi02 
chi03 
chi04 
ch1plus 
ch1minus 
ch2plus 
ch2minus 
gluino 
squark 
antisquark 
sbottom 
stop 
sbottom2 
stop2 
antisbottom 
antistop 
antisbottom2 
antistop2 
selecRminus 
selecRplus 
selecLminus 
selecLplus 
selnuL 
smuonRminus 
smuonRplus 
smuonLminus 
smuonLplus 
smunuL 
stau1minus 
stau1plus 
stau2minus 
stau2plus 
staunuL 
unattributed 
nParticleIndices 

Definition at line 10 of file utilityFunctions.h.

Function Documentation

◆ AmgSymMatrix()

DerivationFramework::AmgSymMatrix ( )

Definition at line 601 of file BPhysAddMuonBasedInvMass.cxx.

602  {
603 
604  AmgSymMatrix(3) cov;
605  cov.setZero();
606 
607  if ( track != NULL ) {
608  cov = getMomentumCov( &track->perigeeParameters() );
609  }
610  return cov;
611  }
612  //--------------------------------------------------------------------------
613  //
614  // Extract the 3x3 momentum covariance matrix in (x,y,z) notation
615  // from the (phi, theta, qoverp) notation from a Perigee.
616  //
617  //--------------------------------------------------------------------------
618  AmgSymMatrix(3) BPhysAddMuonBasedInvMass
619  ::getMomentumCov(const Trk::Perigee* perigee) const {
620 
621  AmgSymMatrix(3) cov;
622  cov.setZero();
623 
624  if ( perigee != NULL ) {
625  cov = getMomentumCov(perigee->parameters(), *perigee->covariance());
626  }
627  return cov;
628  }
629  //--------------------------------------------------------------------------
630  // Extract the 3x3 momentum covariance matrix in (x,y,z) notation
631  // from the (phi, theta, qoverp) notation from a vector of
632  // track parameters and the error matrix
633  //
634  // Coding ideas orignally taken from
635  // V0Tools::massErrorVKalVrt(...),
636  // Code converted from BPhysToolBox::getMomentumCov(...).
637  //--------------------------------------------------------------------------
638  //
639  AmgSymMatrix(3) BPhysAddMuonBasedInvMass
640  ::getMomentumCov(const AmgVector(5)& pars,
641  const AmgSymMatrix(5)& cMatrix) const {
642 
643  AmgSymMatrix(3) cov;
644  cov.setZero();
645 
646  AmgMatrix(3,3) der;
647  der.setZero();
648 
649  double phi = pars[Trk::phi];
650  double theta = pars[Trk::theta];
651  double qoverp = pars[Trk::qOverP];
652 
653  if ( qoverp != 0. ) {
654  AmgVector(3) p( cos(phi)*sin(theta)/fabs(qoverp),
655  sin(phi)*sin(theta)/fabs(qoverp),
656  cos(theta)/fabs(qoverp) );
657 
658  // d(px,py,pz)/d(phi,theta,qoverp)
659  der(0,0) = - p.y();
660  der(1,0) = p.x();
661  der(2,0) = 0.;
662  der(0,1) = cos(phi) * p.z();
663  der(1,1) = sin(phi) * p.z();
664  der(2,1) = - sin(theta) / fabs(qoverp);
665  der(0,2) = - p.x()/qoverp;
666  der(1,2) = - p.y()/qoverp;
667  der(2,2) = - p.z()/qoverp;
668 
669  for (unsigned int i=0; i<3; i++) {
670  for (unsigned int j=0; j<3; j++) {
671  for (unsigned int k=0; k<3; k++) {
672  for (unsigned int l=0; l<3; l++) {
673  cov(i,j) += der(i,k)*cMatrix(k+2,l+2)*der(j,l);
674  }
675  }
676  }
677  }
678 
679  // debug output
680  ATH_MSG_DEBUG("BPhysAddMuonBasedInvMass::getTracksWithMuons:"
681  << "\nlocalErrCov:\n"
682  << std::setprecision(10) << cMatrix
683  << "\ncov:\n"
684  << std::setprecision(10) << cov
685  << "\np: " << std::setprecision(10) << p
686  << "\nder:\n"
687  << std::setprecision(10) << der);
688  } // if qoverp
689 
690  return cov;
691  }
692  //--------------------------------------------------------------------------
693  // Initialize PV-to-SV association type vector
694  //--------------------------------------------------------------------------
695  void BPhysAddMuonBasedInvMass::initPvAssocTypeVec() {
696 
697  m_pvAssocTypes.clear();
698  for (unsigned int i=0; i<xAOD::BPhysHelper::n_pv_types; ++i) {
699  if ( (m_doVertexType & (1 << i)) > 0 )
700  m_pvAssocTypes.push_back((xAOD::BPhysHelper::pv_type)i);
701  }
702  }

◆ createDecoratorKeys()

template<class T_Parent , class T_Cont >
void DerivationFramework::createDecoratorKeys ( T_Parent &  parent,
const SG::ReadHandleKey< T_Cont > &  container_key,
const std::string &  prefix,
const std::vector< std::string > &  decor_names,
std::vector< SG::WriteDecorHandleKey< T_Cont > > &  decor_out 
)

Definition at line 20 of file DecoratorUtils.h.

24  {
25  decor_out.clear();
26  decor_out.reserve(decor_names.size());
27  for (const std::string &a_decor_name : decor_names) {
28  assert( !a_decor_name.empty() );
29  decor_out.push_back(SG::WriteDecorHandleKey<T_Cont>(container_key.key()+"."+prefix+a_decor_name) );
30  }
31 
32  for (SG::WriteDecorHandleKey<T_Cont> &a_decor_handle_key : decor_out) {
33  // need to declare handles, otherwise the scheduler would not pick up the data dependencies
34  // introduced by the decorations
35  parent.declare(a_decor_handle_key);
36  a_decor_handle_key.setOwner(&parent);
37  if (a_decor_handle_key.initialize().isFailure()) {
38  std::stringstream msg;
39  msg << "Failed to initialize " << a_decor_handle_key.key() << " after initializing: ";
40  for (SG::WriteDecorHandleKey<T_Cont> &b_decor_handle_key : decor_out) {
41  if (&b_decor_handle_key == &a_decor_handle_key) break;
42  msg << " " << b_decor_handle_key.key();
43  }
44  throw std::runtime_error(msg.str());
45  }
46  }
47  }

◆ createDecorators()

template<class T_Cont , class T >
std::vector<SG::WriteDecorHandle<T_Cont,T> > DerivationFramework::createDecorators ( const std::vector< SG::WriteDecorHandleKey< T_Cont > > &  keys,
const EventContext &  ctx 
)

Definition at line 51 of file DecoratorUtils.h.

52  {
53  std::vector<SG::WriteDecorHandle<T_Cont,T> > out;
54  out.reserve(keys.size());
55  for( const SG::WriteDecorHandleKey<T_Cont> &a_key : keys) {
56  out.push_back(SG::WriteDecorHandle<T_Cont,T>(a_key,ctx));
57  if (not out.back().isValid()) {
58  std::stringstream msg;
59  msg << "Failed to create decorator handdle " << a_key.key();
60  throw std::runtime_error( msg.str() );
61  }
62  }
63  return out;
64  }

◆ finalStateID()

unsigned int DerivationFramework::finalStateID ( const int  SUSY_Spart1_pdgId,
const int  SUSY_Spart2_pdgId 
)

Definition at line 135 of file utilityFunctions.cxx.

135  {
136  std::array<int, nParticleIndices> particleCountByType{};
137  std::array<PdgConditional,34> conditions{
138  unsigned(1000022), //unsigned number does an std::abs before comparison
139  unsigned(1000023),
140  unsigned(1000025),
141  unsigned(1000035),
142  1000024, //signed int does a straight equality comparison
143  -1000024,
144  1000037,
145  -1000037,
146  1000021,
147  //insert a lambda to do the comparison
148  PdgConditional([](int pdgId)->bool{return ((std::abs(pdgId)>1000000 && std::abs(pdgId)<= 1000004) || (std::abs(pdgId)>2000000 && std::abs(pdgId)<=2000004)) && (pdgId>0);}),
149  PdgConditional([](int pdgId)->bool{return (std::abs(pdgId)>1000000 && std::abs(pdgId)<= 1000004) || (std::abs(pdgId)>2000000 && std::abs(pdgId)<=2000004);}),
150  1000005,
151  1000006,
152  2000005,
153  2000006,
154  -1000005,
155  -1000006,
156  -2000005,
157  -2000006,
158  2000011,
159  -2000011,
160  1000011,
161  -1000011,
162  unsigned(1000012),
163  2000013,
164  -2000013,
165  1000013,
166  -1000013,
167  unsigned(1000014),
168  1000015,
169  -1000015,
170  2000015,
171  -2000015,
172  unsigned(1000016)
173  };
174  auto it = std::find(conditions.begin(),conditions.end(), SUSY_Spart1_pdgId);
175  int idx = std::distance(conditions.begin(), it);
176  ++particleCountByType[idx];
177  //
178  it = std::find(conditions.begin(),conditions.end(), SUSY_Spart2_pdgId);
179  idx = std::distance(conditions.begin(), it);
180  ++particleCountByType[idx];
181  if (const auto & v=gluinoSquarkClassification(particleCountByType);v) return v;
182  // Gaugino pair-production
183  // chi^{0}_1 + X
184  if (const auto & v=gauginoPairProduction(particleCountByType);v) return v;
185  // slepton
186  if (const auto & v=slepton(particleCountByType);v) return v;
187  // smuon
188  if (const auto & v=smuon(particleCountByType);v) return v;
189  return 0;
190  }

◆ gauginoPairProduction() [1/2]

int DerivationFramework::gauginoPairProduction ( const std::array< int, 35 > &  c)

Definition at line 58 of file utilityFunctions.cxx.

58  {
59  // Gaugino pair-production
60  // chi^{0}_1 + X
61  int result{};
62  if (c[chi01]==2) return 111;
63  else if (c[chi01]==1 && c[chi02]==1) return 112;
64  else if (c[chi01]==1 && c[chi03]==1) return 113;
65  else if (c[chi01]==1 && c[chi04]==1) return 114;
66  else if (c[chi01]==1 && c[ch1plus]==1) return 115;
67  else if (c[chi01]==1 && c[ch2plus]==1) return 116;
68  else if (c[chi01]==1 && c[ch1minus]==1) return 117;
69  else if (c[chi01]==1 && c[ch2minus]==1) return 118;
70 
71  // chi^{0}_2 + X
72  else if (c[chi02]==2) return 122;
73  else if (c[chi02]==1 && c[chi03]==1) return 123;
74  else if (c[chi02]==1 && c[chi04]==1) return 124;
75  else if (c[chi02]==1 && c[ch1plus]==1) return 125;
76  else if (c[chi02]==1 && c[ch2plus]==1) return 126;
77  else if (c[chi02]==1 && c[ch1minus]==1) return 127;
78  else if (c[chi02]==1 && c[ch2minus]==1) return 128;
79 
80  // chi^{0}_3 + X
81  else if (c[chi03]==2) return 133;
82  else if (c[chi03]==1 && c[chi04]==1) return 134;
83  else if (c[chi03]==1 && c[ch1plus]==1) return 135;
84  else if (c[chi03]==1 && c[ch2plus]==1) return 136;
85  else if (c[chi03]==1 && c[ch1minus]==1) return 137;
86  else if (c[chi03]==1 && c[ch2minus]==1) return 138;
87 
88  // chi^{0}_4 + X
89  else if (c[chi04]==2) return 144;
90  else if (c[chi04]==1 && c[ch1plus]==1) return 145;
91  else if (c[chi04]==1 && c[ch2plus]==1) return 146;
92  else if (c[chi04]==1 && c[ch1minus]==1) return 147;
93  else if (c[chi04]==1 && c[ch2minus]==1) return 148;
94 
95  // chi^{+}_1/2 + chi^{-}_1/2
96  else if (c[ch1plus]==1 && c[ch1minus]==1) return 157;
97  else if (c[ch1plus]==1 && c[ch2minus]==1) return 158;
98 
99  else if (c[ch2plus]==1 && c[ch1minus]==1) return 167;
100  else if (c[ch2plus]==1 && c[ch2minus]==1) return 168;
101  return result;
102  }

◆ gauginoPairProduction() [2/2]

int DerivationFramework::gauginoPairProduction ( const std::array< int, nParticleIndices > &  c)

◆ gluinoSquarkClassification() [1/2]

int DerivationFramework::gluinoSquarkClassification ( const std::array< int, 35 > &  c)

Definition at line 22 of file utilityFunctions.cxx.

22  {
23  int result{};
24  // gluino/squark + X
25  if (c[gluino]==1 && (c[squark]==1 || c[antisquark] ==1)) return 1;
26  else if (c[gluino]==2) return 2;
27  else if (c[squark]==2 || c[antisquark]==2) return 3;
28  else if (c[squark]==1 && c[antisquark]==1) return 4;
29 
30  else if (c[sbottom]==1 && c[antisbottom]==1) return 51;
31  else if (c[sbottom2]==1 && c[antisbottom2]==1) return 52;
32  else if (c[stop]==1 && c[antistop]==1) return 61;
33  else if (c[stop2]==1 && c[antistop2]==1) return 62;
34 
35  else if (c[gluino]==1 && c[chi01]==1) return 71;
36  else if (c[gluino]==1 && c[chi02]==1) return 72;
37  else if (c[gluino]==1 && c[chi03]==1) return 73;
38  else if (c[gluino]==1 && c[chi04]==1) return 74;
39 
40  else if (c[gluino]==1 && c[ch1plus]==1) return 75;
41  else if (c[gluino]==1 && c[ch2plus]==1) return 76;
42  else if (c[gluino]==1 && c[ch1minus]==1) return 77;
43  else if (c[gluino]==1 && c[ch2minus]==1) return 78;
44 
45  else if ((c[squark]==1 || c[antisquark ]==1) && c[chi01]==1) return 81;
46  else if ((c[squark]==1 || c[antisquark ]==1) && c[chi02]==1) return 82;
47  else if ((c[squark]==1 || c[antisquark ]==1) && c[chi03]==1) return 83;
48  else if ((c[squark]==1 || c[antisquark ]==1) && c[chi04]==1) return 84;
49 
50  else if ((c[squark]==1 || c[antisquark ]==1) && c[ch1plus]==1) return 85;
51  else if ((c[squark]==1 || c[antisquark ]==1) && c[ch2plus]==1) return 86;
52  else if ((c[squark]==1 || c[antisquark ]==1) && c[ch1minus]==1) return 87;
53  else if ((c[squark]==1 || c[antisquark ]==1) && c[ch2minus]==1) return 88;
54  return result;
55  }

◆ gluinoSquarkClassification() [2/2]

int DerivationFramework::gluinoSquarkClassification ( const std::array< int, nParticleIndices > &  c)

◆ makeHandle()

template<class dType , class ContType >
SG::WriteDecorHandle<ContType, dType> DerivationFramework::makeHandle ( const EventContext &  ctx,
const SG::WriteDecorHandleKey< ContType > &  key,
const dType  defValue = dType{} 
)

Definition at line 13 of file PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/Utils.h.

15  {}) {
17  if (handle->size()) handle(*handle->at(0)) = defValue;
18  return handle;
19  }

◆ slepton() [1/2]

int DerivationFramework::slepton ( const std::array< int, 35 > &  c)

Definition at line 104 of file utilityFunctions.cxx.

104  {
105  int result{};
106  // slepton
107  if (c[selecLplus]==1 && c[selecLminus]==1) return 201; // sElectronLPair
108  else if (c[selecRplus]==1 && c[selecRminus]==1) return 202; // sElectronRPair
109  else if (c[selnuL]==2) return 203; // sElectron neutrino pair
110  else if (c[selecLplus]==1 && c[selnuL]==1) return 204; // sElectron+ sNutrino
111  else if (c[selecLminus]==1 && c[selnuL]==1) return 205; // sElectron- sNutrino
112  else if (c[stau1plus]==1 && c[stau1minus]==1) return 206;
113  else if (c[stau2plus]==1 && c[stau2minus]==1) return 207;
114  else if ((c[stau1plus]==1 || c[stau1minus]==1) && (c[stau2plus]==1 || c[stau2minus]==1)) return 208;
115  else if (c[staunuL]==2) return 209; // sTau neutrino pair
116  else if (c[stau1plus]==1 && c[staunuL]==1) return 210;
117  else if (c[stau1minus]==1 && c[staunuL]==1) return 211;
118  else if (c[stau2plus]==1 && c[staunuL]==1) return 212;
119  else if (c[stau2minus]==1 && c[staunuL]==1) return 213;
120  return result;
121  }

◆ slepton() [2/2]

int DerivationFramework::slepton ( const std::array< int, nParticleIndices > &  c)

◆ smuon() [1/2]

int DerivationFramework::smuon ( const std::array< int, 35 > &  c)

Definition at line 123 of file utilityFunctions.cxx.

123  {
124  int result{};
125  if (c[smuonLplus]==1 && c[smuonLminus]==1) return 216; // sMuonPair
126  else if (c[smuonRplus]==1 && c[smuonRminus]==1) return 217; // sMuonPair
127  else if (c[smunuL]==2) return 218; // sMuon neutrino pair
128  else if (c[smuonLplus]==1 && c[smunuL]==1) return 219; // sMuon+ sNutrino
129  else if (c[smuonLminus]==1 && c[smunuL]==1) return 220; // sMuon- sNutrino
130  return result;
131  }

◆ smuon() [2/2]

int DerivationFramework::smuon ( const std::array< int, nParticleIndices > &  c)

◆ SumVector()

template<size_t N>
GenVecFourMom_t DerivationFramework::SumVector ( const std::array< GenVecFourMom_t, N > &  vectors)

Definition at line 39 of file Cascade3Plus1.cxx.

39  {
40  GenVecFourMom_t total = vectors[0];
41  for(size_t i =1; i<N; i++) total+= vectors[i];
42  return total;
43 }

Variable Documentation

◆ s_CONST

constexpr double DerivationFramework::s_CONST = 1000./299.792
constexpr

Definition at line 23 of file CascadeTools.cxx.

DerivationFramework::kDeltaRToolParser1
@ kDeltaRToolParser1
Definition: DeltaRTool.h:25
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
DerivationFramework::kDeltaRToolParserNum
@ kDeltaRToolParserNum
Definition: DeltaRTool.h:25
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
DerivationFramework::kInvariantMassToolParserNum
@ kInvariantMassToolParserNum
Definition: InvariantMassTool.h:23
DerivationFramework::stau1minus
@ stau1minus
Definition: utilityFunctions.h:14
DerivationFramework::antisbottom2
@ antisbottom2
Definition: utilityFunctions.h:12
DerivationFramework::smunuL
@ smunuL
Definition: utilityFunctions.h:14
get_generator_info.result
result
Definition: get_generator_info.py:21
DerivationFramework::selecRplus
@ selecRplus
Definition: utilityFunctions.h:13
DerivationFramework::selecRminus
@ selecRminus
Definition: utilityFunctions.h:13
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
DerivationFramework::kNumDvTPThinningParser
@ kNumDvTPThinningParser
Definition: VSITrackParticleThinning.h:28
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
DerivationFramework::kGenericTruthThinningPartParser
@ kGenericTruthThinningPartParser
Definition: GenericTruthThinning.h:27
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:75
DerivationFramework::kParser2
@ kParser2
Definition: EGInvariantMassTool.h:28
DerivationFramework::unattributed
@ unattributed
Definition: utilityFunctions.h:15
skel.it
it
Definition: skel.GENtoEVGEN.py:407
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
DerivationFramework::smuonLplus
@ smuonLplus
Definition: utilityFunctions.h:14
DerivationFramework::gauginoPairProduction
int gauginoPairProduction(const std::array< int, 35 > &c)
Definition: utilityFunctions.cxx:58
DerivationFramework::chi04
@ chi04
Definition: utilityFunctions.h:11
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
DerivationFramework::stop
@ stop
Definition: utilityFunctions.h:12
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
InDetAccessor::qOverP
@ qOverP
perigee
Definition: InDetAccessor.h:35
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
DerivationFramework::slepton
int slepton(const std::array< int, 35 > &c)
Definition: utilityFunctions.cxx:104
DerivationFramework::gluino
@ gluino
Definition: utilityFunctions.h:11
x
#define x
DerivationFramework::kRCJetSelection
@ kRCJetSelection
Definition: RCJetSubstructureAug.h:30
xAOD::unsigned
unsigned
Definition: RingSetConf_v1.cxx:662
DerivationFramework::kGenericTruthThinningParserNum
@ kGenericTruthThinningParserNum
Definition: GenericTruthThinning.h:27
AmgMatrix
#define AmgMatrix(rows, cols)
Definition: EventPrimitives.h:49
DerivationFramework::selecLplus
@ selecLplus
Definition: utilityFunctions.h:13
DerivationFramework::kParser1
@ kParser1
Definition: EGInvariantMassTool.h:27
DerivationFramework::kdvTrackThinning
@ kdvTrackThinning
Definition: VSITrackParticleThinning.h:28
DerivationFramework::AmgSymMatrix
AmgSymMatrix(3) BPhysAddMuonBasedInvMass
Definition: BPhysAddMuonBasedInvMass.cxx:601
DerivationFramework::stau2minus
@ stau2minus
Definition: utilityFunctions.h:15
DerivationFramework::sbottom
@ sbottom
Definition: utilityFunctions.h:12
DerivationFramework::ch2minus
@ ch2minus
Definition: utilityFunctions.h:11
OfflineHitType::Perigee
@ Perigee
DerivationFramework::smuonLminus
@ smuonLminus
Definition: utilityFunctions.h:14
DerivationFramework::selecLminus
@ selecLminus
Definition: utilityFunctions.h:13
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
xAOD::BPhysHelper::pv_type
pv_type
: Enum type of the PV
Definition: BPhysHelper.h:475
DerivationFramework::staunuL
@ staunuL
Definition: utilityFunctions.h:15
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
DerivationFramework::stop2
@ stop2
Definition: utilityFunctions.h:12
DerivationFramework::kInvariantMassToolParser2
@ kInvariantMassToolParser2
Definition: InvariantMassTool.h:23
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DerivationFramework::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for TrackParticle.
Definition: Cascade3Plus1.cxx:27
DerivationFramework::antistop2
@ antistop2
Definition: utilityFunctions.h:13
DerivationFramework::kTrackThinning
@ kTrackThinning
Definition: JetTrackParticleThinning.h:27
DerivationFramework::ch2plus
@ ch2plus
Definition: utilityFunctions.h:11
DerivationFramework::selnuL
@ selnuL
Definition: utilityFunctions.h:13
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::kDeltaRToolParser2
@ kDeltaRToolParser2
Definition: DeltaRTool.h:25
DerivationFramework::kJetSelection
@ kJetSelection
Definition: JetTrackParticleThinning.h:27
DerivationFramework::kDvSelection
@ kDvSelection
Definition: VSITrackParticleThinning.h:28
DerivationFramework::antistop
@ antistop
Definition: utilityFunctions.h:12
DerivationFramework::kNumEGInvariantMassToolParser
@ kNumEGInvariantMassToolParser
Definition: EGInvariantMassTool.h:29
DerivationFramework::ch1minus
@ ch1minus
Definition: utilityFunctions.h:11
DerivationFramework::chi01
@ chi01
Definition: utilityFunctions.h:11
DerivationFramework::smuon
int smuon(const std::array< int, 35 > &c)
Definition: utilityFunctions.cxx:123
DerivationFramework::antisquark
@ antisquark
Definition: utilityFunctions.h:12
DerivationFramework::antisbottom
@ antisbottom
Definition: utilityFunctions.h:12
DerivationFramework::kNumJetTPThinningParser
@ kNumJetTPThinningParser
Definition: JetTrackParticleThinning.h:27
DerivationFramework::chi03
@ chi03
Definition: utilityFunctions.h:11
python.PyAthena.v
v
Definition: PyAthena.py:154
DerivationFramework::chi02
@ chi02
Definition: utilityFunctions.h:11
y
#define y
DerivationFramework::sbottom2
@ sbottom2
Definition: utilityFunctions.h:12
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
DerivationFramework::nParticleIndices
@ nParticleIndices
Definition: utilityFunctions.h:15
DerivationFramework::kInvariantMassToolParser1
@ kInvariantMassToolParser1
Definition: InvariantMassTool.h:23
DerivationFramework::kNumJetParser
@ kNumJetParser
Definition: RCJetSubstructureAug.h:30
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
xAOD::BPhysHelper::n_pv_types
static const unsigned int n_pv_types
Definition: BPhysHelper.h:613
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
DerivationFramework::squark
@ squark
Definition: utilityFunctions.h:11
DerivationFramework::ch1plus
@ ch1plus
Definition: utilityFunctions.h:11
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
DerivationFramework::stau2plus
@ stau2plus
Definition: utilityFunctions.h:15
DerivationFramework::smuonRplus
@ smuonRplus
Definition: utilityFunctions.h:14
DerivationFramework::gluinoSquarkClassification
int gluinoSquarkClassification(const std::array< int, 35 > &c)
Definition: utilityFunctions.cxx:22
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
python.compressB64.c
def c
Definition: compressB64.py:93
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
DerivationFramework::stau1plus
@ stau1plus
Definition: utilityFunctions.h:14
DerivationFramework::smuonRminus
@ smuonRminus
Definition: utilityFunctions.h:14
fitman.k
k
Definition: fitman.py:528
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37