|
ATLAS Offline Software
|
#include <TrigJetCRVARHypoTool.h>
|
| TrigJetCRVARHypoTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
| ~TrigJetCRVARHypoTool () |
|
virtual StatusCode | initialize () override final |
|
bool | emf_dis (const xAOD::Jet *jet) const |
|
StatusCode | decide (std::vector< JetInfo > &decisions) const |
| decides upon a collection of jets More...
|
|
bool | decide_on_single_jet (JetInfo &input) const |
| Auxiluary method, single jet selection. More...
|
|
const HLT::Identifier & | getId () const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
HLT::Identifier | m_decisionId |
|
ToolHandle< ITrigJetHypoToolHelper > | m_helper |
|
Gaudi::Property< bool > | m_visitDebug {this, "visit_debug", false, "debug flag"} |
|
Gaudi::Property< std::string > | m_chainName |
|
Gaudi::Property< float > | m_jetlogRCut { this, "MinjetlogR", { float(1.2 ) }, "Jet logR requirement" } |
|
Gaudi::Property< float > | m_pufixLogRatio { this, "MpufixLogRatio", { float(1.2 ) }, "Jet pufix logR requirement" } |
|
Gaudi::Property< float > | m_trackPtCut { this, "MintrackPt", { float( 2.0*Gaudi::Units::GeV ) }, "Track pT requirement" } |
|
Gaudi::Property< float > | m_deltaR { this, "MindeltaR", { float( 0.2 ) }, "deltaR(jet, track) requirement" } |
|
Gaudi::Property< bool > | m_doBIBrm { this, "doBIBremoval", { int(0) }, "option to include BIB removal" } |
|
Gaudi::Property< float > | m_dEta { this, "BibMinDeltaEta", { float( 0.4 ) }, "BIB deltaEta requirement" } |
|
Gaudi::Property< float > | m_dPhi { this, "BibMinDeltaPhi", { float( 0.2 ) }, "BIB deltaPhi requirement" } |
|
Gaudi::Property< float > | m_minCellEt { this, "BibMinCellEt", { float( 240.0 ) }, "BIB cell Et requirement" } |
|
Gaudi::Property< float > | m_celltime { this, "BibCelltiming", { float( -2.0 ) }, "BIB cell timing requirement" } |
|
Gaudi::Property< float > | m_dBIBtime { this, "BibDeltatiming", { float( 5.0 ) }, "BIB delta timing requirement" } |
|
Gaudi::Property< int > | m_countCaloCell { this, "countBIBcells", { int( 4 ) }, "requirement on number of BIB cells" } |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 33 of file TrigJetCRVARHypoTool.h.
◆ JetDecision
◆ StoreGateSvc_t
◆ TrigJetCRVARHypoTool()
TrigJetCRVARHypoTool::TrigJetCRVARHypoTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~TrigJetCRVARHypoTool()
TrigJetCRVARHypoTool::~TrigJetCRVARHypoTool |
( |
| ) |
|
◆ decide()
StatusCode TrigJetCRVARHypoTool::decide |
( |
std::vector< JetInfo > & |
decisions | ) |
const |
decides upon a collection of jets
Definition at line 211 of file TrigJetCRVARHypoTool.cxx.
212 for ( JetInfo& j:
input ) {
217 return StatusCode::SUCCESS;
221 return StatusCode::SUCCESS;
◆ decide_on_single_jet()
bool TrigJetCRVARHypoTool::decide_on_single_jet |
( |
JetInfo & |
input | ) |
const |
Auxiluary method, single jet selection.
Definition at line 142 of file TrigJetCRVARHypoTool.cxx.
145 auto cellContainer =
input.cells;
146 auto alltracks=
jet->getAttribute<std::vector<ElementLink<xAOD::IParticleContainer> >>(
"TracksForMinimalJetTag");
152 auto jetPhi=
jet->phi();
153 auto jetEta=
jet->eta();
167 double countCell_layer[4] = {0,0,0,0};
171 if((*celliter)->caloDDE()->is_tile() && (*celliter)->energy() >
m_minCellEt){
175 if(std::abs(d_phi) < 0.2 && d_R > 0.4){
177 float t = (*celliter)->time();
180 float x = (*celliter)->x();
181 float y = (*celliter)->y();
182 float z = (*celliter)->z();
183 float r = sqrt(
x*
x +
y*
y);
187 if(
r<2200){ countCell_layer[0]++;}
188 else if(
r>=2200 &&
r<2600){ countCell_layer[1]++;}
189 else if(
r>=2600 &&
r<3100){ countCell_layer[2]++;}
190 else if(
r>=3100){ countCell_layer[3]++;}
198 for(
int i=0;
i<4;
i++){
199 if(countCaloCell<countCell_layer[
i]) countCaloCell=countCell_layer[
i];
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ emf_dis()
Definition at line 68 of file TrigJetCRVARHypoTool.cxx.
70 double jetEMF =
jet->getAttribute<
float>(
"EMFrac");
77 else jetRatio = log10(
double(1./jetEMF - 1.));
83 auto jetPhi=
jet->phi();
84 auto jetEta=
jet->eta();
88 size_t nClusters =
jet->numConstituents();
89 double clusterPU_sumEEM = 0;
double clusterPU_sumE = 0;
90 for (
size_t clust = 0; clust < nClusters; clust++) {
102 if (lambda > 500)
continue;
104 double d_eta = aCluster->
rawEta() - jetEta;
106 double d_R2 = d_eta*d_eta + d_phi*d_phi;
108 if (d_R2 < 0.15*0.15)
continue;
109 clusterPU_sumEEM+=clusEEM/1000.;
110 clusterPU_sumE+=aCluster->
rawE()/1000.;
113 double jetEEM_EMscale = 0;
double jetE_EMscale = 0;
114 std::vector<double> samplingEnergy =
jet->getAttribute<std::vector<double> >(
"EnergyPerSampling");
116 for(
size_t s=0;
s<samplingEnergy.size();
s++) {
117 double samplingE = 0.001*(samplingEnergy.at(
s));
118 if (
s < 8 || (
s > 20 &&
s < 28) ) jetEEM_EMscale+=samplingE;
119 jetE_EMscale+=samplingE;
122 double pufixEMF = -999;
124 else pufixEMF = (jetEEM_EMscale - clusterPU_sumEEM)/(jetE_EMscale - clusterPU_sumE);
127 else pufixLR = log10(
double(1./pufixEMF - 1.));
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getId()
◆ initialize()
StatusCode TrigJetCRVARHypoTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_celltime
Gaudi::Property< float > TrigJetCRVARHypoTool::m_celltime { this, "BibCelltiming", { float( -2.0 ) }, "BIB cell timing requirement" } |
|
private |
◆ m_chainName
Gaudi::Property<std::string> TrigJetCRVARHypoTool::m_chainName |
|
private |
◆ m_countCaloCell
Gaudi::Property< int > TrigJetCRVARHypoTool::m_countCaloCell { this, "countBIBcells", { int( 4 ) }, "requirement on number of BIB cells" } |
|
private |
◆ m_dBIBtime
Gaudi::Property< float > TrigJetCRVARHypoTool::m_dBIBtime { this, "BibDeltatiming", { float( 5.0 ) }, "BIB delta timing requirement" } |
|
private |
◆ m_decisionId
◆ m_deltaR
Gaudi::Property< float > TrigJetCRVARHypoTool::m_deltaR { this, "MindeltaR", { float( 0.2 ) }, "deltaR(jet, track) requirement" } |
|
private |
◆ m_dEta
Gaudi::Property< float > TrigJetCRVARHypoTool::m_dEta { this, "BibMinDeltaEta", { float( 0.4 ) }, "BIB deltaEta requirement" } |
|
private |
◆ m_detStore
◆ m_doBIBrm
Gaudi::Property< bool > TrigJetCRVARHypoTool::m_doBIBrm { this, "doBIBremoval", { int(0) }, "option to include BIB removal" } |
|
private |
◆ m_dPhi
Gaudi::Property< float > TrigJetCRVARHypoTool::m_dPhi { this, "BibMinDeltaPhi", { float( 0.2 ) }, "BIB deltaPhi requirement" } |
|
private |
◆ m_evtStore
◆ m_helper
Initial value:{
this, "helper_tool", {}, "Jet hypo helper AlgTool"}
Definition at line 87 of file TrigJetCRVARHypoTool.h.
◆ m_jetlogRCut
Gaudi::Property< float > TrigJetCRVARHypoTool::m_jetlogRCut { this, "MinjetlogR", { float(1.2 ) }, "Jet logR requirement" } |
|
private |
◆ m_minCellEt
Gaudi::Property< float > TrigJetCRVARHypoTool::m_minCellEt { this, "BibMinCellEt", { float( 240.0 ) }, "BIB cell Et requirement" } |
|
private |
◆ m_pufixLogRatio
Gaudi::Property< float > TrigJetCRVARHypoTool::m_pufixLogRatio { this, "MpufixLogRatio", { float(1.2 ) }, "Jet pufix logR requirement" } |
|
private |
◆ m_trackPtCut
Gaudi::Property< float > TrigJetCRVARHypoTool::m_trackPtCut { this, "MintrackPt", { float( 2.0*Gaudi::Units::GeV ) }, "Track pT requirement" } |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_visitDebug
Gaudi::Property<bool> TrigJetCRVARHypoTool::m_visitDebug {this, "visit_debug", false, "debug flag"} |
|
private |
The documentation for this class was generated from the following files:
Const iterator class for DataVector/DataList.
flt_t rawEta() const
Get in signal state UNCALIBRATED.
Scalar phi() const
phi method
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
double getMomentValue(MomentType type) const
Retrieve individual moment - no check for existance! Returns -999 on error.
TrigCompositeUtils::DecisionID numeric() const
numeric ID
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
std::vector< std::string > lineSplitter(const std::string &s, char delimiter)
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
virtual void setOwner(IDataHandleHolder *o)=0
bool equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
static HLT::Identifier fromToolName(const std::string &tname)
Description of a calorimeter cluster.
double deltaR(double rapidity1, double phi1, double rapidity2, double phi2)
from bare bare rapidity,phi
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
bool greater_equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
flt_t rawPhi() const
Get in signal state UNCALIBRATED.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>