ATLAS Offline Software
ICaloAffectedTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
13 
14 #ifndef CALOINTERFACE_ICaloAffectedTool_H
15 #define CALOINTERFACE_ICaloAffectedTool_H
16 
17 // Includes for Gaudi
18 #include "GaudiKernel/IAlgTool.h"
19 #include "AthenaKernel/CondCont.h"
21 
22 #include <vector>
23 
24 namespace xAOD {
25  class IParticle;
26 }
27 
28 class ICaloAffectedTool: virtual public IAlgTool {
29 
30 public:
31 
32  static const InterfaceID& interfaceID() {
33  static const InterfaceID IID_ICaloAffectedTool("ICaloAffectedTool", 2 , 0);
34  return IID_ICaloAffectedTool;
35  }
36 
37  /*
38  Return true if 4 momentum eta-phi is within deta,dphi of an affected region between layer min and layer max (all layers if layermax<layermin)
39  and with a problemType (0= deadReadout, 1 = deadHV, 2 = affectedHV, -1= all problems)
40 
41  @param p 4 momentum pointer to check
42  @param vAff pointer to conditions object with affected regions
43  @param deta = eta tolerance
44  @param dphi = phi tolerance
45  @param layer_min = min calo layer to check
46  @param layer_max = max calo layer to check
47  @param problemType = type of problem in affacted region
48  */
49 
50  virtual bool isAffected(const xAOD::IParticle *p, const CaloAffectedRegionInfoVec *vAff, float deta=0, float dphi=0, int layer_min=0, int layer_max=-1, int problemType=-1) const = 0;
51 
52  /*
53  Return list of layers affected with their problem for a given 4 momentum
54  Return true is any problem is fonund
55 
56  @param p 4 momentum pointer to check
57  @param vAff pointer to conditions object with affected regions
58  @param deta = eta tolerance
59  @param dphi = phi tolerance
60  @param problemType = filters only a given type of problem (-1 : all problems)
61  @param layer_list = reference of vector to store list of layer
62  @param problem_list = reference of vector to store list of problems
63  */
64 
65  virtual bool listAffected(const xAOD::IParticle* p, const CaloAffectedRegionInfoVec *vAff, std::vector<int>& layer_list, std::vector<int>& problem_list, float deta=0, float dphi=0, int problemType=-1) const =0;
66 
67 
68 };
69 
70 #endif
CaloAffectedRegionInfoVec.h
CaloAffectedRegionInfoVec
std::vector< CaloAffectedRegionInfo > CaloAffectedRegionInfoVec
Definition: CaloAffectedRegionInfoVec.h:11
CondCont.h
Hold mappings of ranges to condition objects.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
ICaloAffectedTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ICaloAffectedTool.h:32
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ICaloAffectedTool::isAffected
virtual bool isAffected(const xAOD::IParticle *p, const CaloAffectedRegionInfoVec *vAff, float deta=0, float dphi=0, int layer_min=0, int layer_max=-1, int problemType=-1) const =0
ICaloAffectedTool::listAffected
virtual bool listAffected(const xAOD::IParticle *p, const CaloAffectedRegionInfoVec *vAff, std::vector< int > &layer_list, std::vector< int > &problem_list, float deta=0, float dphi=0, int problemType=-1) const =0
ICaloAffectedTool
Definition: ICaloAffectedTool.h:28