ATLAS Offline Software
Loading...
Searching...
No Matches
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"
21
22#include <vector>
23
24namespace xAOD {
25 class IParticle;
26}
27
28class ICaloAffectedTool: virtual public IAlgTool {
29
30public:
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
std::vector< CaloAffectedRegionInfo > CaloAffectedRegionInfoVec
Hold mappings of ranges to condition objects.
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
static const InterfaceID & interfaceID()
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
Class providing the definition of the 4-vector interface.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.