ATLAS Offline Software
DiTauJetAccessors_v1.icc
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: DiTauJetAccessors_v1.icc 631921 2015-09-23 23:30:59Z dkirchme $
8 
9 #ifndef XAODDITAU_DITAUACCESSORS_V1_ICC
10 #define XAODDITAU_DITAUACCESSORS_V1_ICC
11 
12 // System include(s):
13 #include <iostream>
14 
15 #define DEFINE_DITAUJETPARAMETER_ACCESSOR(TYPE, NAME ) \
16  case xAOD::DiTauJetParameters::NAME: \
17 { \
18  static const SG::AuxElement::Accessor< TYPE > a( #NAME ); \
19  return &a; \
20 } \
21 break;
22 
23 
24  template <> const SG::AuxElement::Accessor< float >* detailsAccessorV1<float>( xAOD::DiTauJetParameters::Detail detail ) {
25 
26  switch( detail ) {
27  DEFINE_DITAUJETPARAMETER_ACCESSOR( float, TauJetVtxFraction );
28 
29  DEFINE_DITAUJETPARAMETER_ACCESSOR( float, R_jet );
30  DEFINE_DITAUJETPARAMETER_ACCESSOR( float, R_subjet );
31  DEFINE_DITAUJETPARAMETER_ACCESSOR( float, R_core );
32  DEFINE_DITAUJETPARAMETER_ACCESSOR( float, BDT );
33 
34  default:
35  std::cerr << "xAOD::DiTauJetParameters ERROR Unknown float detail ("
36  << detail << ") requested" << std::endl;
37  return 0;
38  }
39  }
40 
41  template <> const SG::AuxElement::Accessor< int >* detailsAccessorV1<int>( xAOD::DiTauJetParameters::Detail detail ) {
42 
43  switch( detail ) {
44 
45  // DEFINE_DITAUJETPARAMETER_ACCESSOR( int, nCharged );
46 
47  default:
48  std::cerr << "xAOD::DiTauJetParameters ERROR Unknown integer detail ("
49  << detail << ") requested" << std::endl;
50  return 0;
51  }
52  }
53 
54 
55 #endif // XAODDITAU_DITAUJETACCESSORS_V1_ICC