ATLAS Offline Software
IDataAccess.h
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: IDataAccess.h 325162 2010-10-05 06:58:44Z krasznaa $
8 #ifndef TRIGGERD3PDMAKER_IDATAACCESS_H
9 #define TRIGGERD3PDMAKER_IDATAACCESS_H
10 
11 // STL include(s):
12 #include <vector>
13 
14 // ROOT include(s):
15 #include <Rtypes.h>
16 
17 namespace D3PD {
18 
19  // Forward declaration(s):
20  class ChainGroup;
21 
22  namespace Trig {
23 
37  class IDataAccess {
38 
40  friend class D3PD::ChainGroup;
41 
42  public:
44  virtual ~IDataAccess() {}
45 
47  virtual Int_t GetDetailLevel() const = 0;
48 
49  protected:
51  enum L1ResultType {
52  TBP = 0,
53  TAP = 1,
54  TAV = 2
55  };
58  Physics = 0,
59  Raw = 1,
61  PassedThrough = 3
62  };
63 
65  virtual Int_t GetSMK() const = 0;
67  virtual Int_t GetL1PSK() const = 0;
69  virtual Int_t GetHLTPSK() const = 0;
70 
72  virtual const std::vector< unsigned int >* GetL1Result( L1ResultType type ) const = 0;
74  virtual const std::vector< short >* GetL2Result( HLTResultType type ) const = 0;
76  virtual const std::vector< short >* GetEFResult( HLTResultType type ) const = 0;
77 
78  }; // class IDataAccess
79 
80  } // namespace Trig
81 
82 } // namespace D3PD
83 
84 #endif // TRIGGERD3PDMAKER_IDATAACCESS_H
D3PD::Trig::IDataAccess::GetEFResult
virtual const std::vector< short > * GetEFResult(HLTResultType type) const =0
Function for retrieving the encoded EF result.
D3PD::Trig::IDataAccess::Resurrected
@ Resurrected
Definition: IDataAccess.h:60
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
D3PD::Trig::IDataAccess::GetHLTPSK
virtual Int_t GetHLTPSK() const =0
Get the HLT prescale key of the current event.
D3PD::Trig::IDataAccess::TAV
@ TAV
Definition: IDataAccess.h:54
D3PD::Trig::IDataAccess::GetL1PSK
virtual Int_t GetL1PSK() const =0
Get the LVL1 prescale key of the current event.
D3PD::Trig::IDataAccess
Interface providing access to the event-wise trigger data.
Definition: IDataAccess.h:37
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::Trig::IDataAccess::TAP
@ TAP
Definition: IDataAccess.h:53
D3PD::Trig::IDataAccess::GetL1Result
virtual const std::vector< unsigned int > * GetL1Result(L1ResultType type) const =0
Function for retrieving the encoded LVL1 result.
D3PD::Trig::IDataAccess::PassedThrough
@ PassedThrough
Definition: IDataAccess.h:61
D3PD::Trig::IDataAccess::L1ResultType
L1ResultType
Types of LVL1 result bits.
Definition: IDataAccess.h:51
D3PD::Trig::IDataAccess::GetDetailLevel
virtual Int_t GetDetailLevel() const =0
Get the detail level that the D3PD was produced with.
D3PD::Trig::IDataAccess::Physics
@ Physics
Definition: IDataAccess.h:58
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::Trig::IDataAccess::GetSMK
virtual Int_t GetSMK() const =0
Get the Super Master Key of the current event.
D3PD::Trig::IDataAccess::~IDataAccess
virtual ~IDataAccess()
Virtual destructor to make vtable happy.
Definition: IDataAccess.h:44
D3PD::ChainGroup
Class implementing the chain group functionality.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:42
D3PD::Trig::IDataAccess::HLTResultType
HLTResultType
Types of HLT results.
Definition: IDataAccess.h:57
D3PD::Trig::IDataAccess::GetL2Result
virtual const std::vector< short > * GetL2Result(HLTResultType type) const =0
Function for retrieving the encoded LVL2 result.
D3PD::Trig::IDataAccess::Raw
@ Raw
Definition: IDataAccess.h:59
D3PD::Trig::IDataAccess::TBP
@ TBP
Definition: IDataAccess.h:52