14#include "GaudiKernel/StatusCode.h"
15#include "CLHEP/Units/PhysicalConstants.h"
30#include "CaloEvent/CaloClusterContainer.h"
34 const std::string& name,
35 const IInterface* parent) :
57 return StatusCode::SUCCESS;
63 auto trackContainer = input.allTracks;
64 auto cellContainer = input.cells;
67 double jetEMF =
jet->getAttribute<
float>(
"EMFrac");
75 else jetRatio = log10(
double(1./jetEMF - 1.));
81 auto jetPhi=
jet->phi();
82 auto jetEta=
jet->eta();
88 double phi = track->phi0();
89 double eta = track->eta();
98 double countCell_layer[4] = {0,0,0,0};
102 if((*celliter)->caloDDE()->is_tile() && (*celliter)->energy() >
m_minCellEt){
106 if(std::abs(d_phi) < 0.2 && d_R > 0.4){
108 float t = (*celliter)->time();
111 float x = (*celliter)->x();
112 float y = (*celliter)->y();
113 float z = (*celliter)->z();
114 float r = sqrt(
x*
x +
y*
y);
118 if(
r<2200){ countCell_layer[0]++;}
119 else if(
r>=2200 &&
r<2600){ countCell_layer[1]++;}
120 else if(
r>=2600 &&
r<3100){ countCell_layer[2]++;}
121 else if(
r>=3100){ countCell_layer[3]++;}
129 for(
int i=0; i<4; i++)
130 if(countCaloCell<countCell_layer[i]) countCaloCell=countCell_layer[i];
146 return StatusCode::SUCCESS;
152 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
DataModel_detail::const_iterator< DataVector > const_iterator
virtual std::string toString() const override
Class describing a TrackParticle.
Workaround x86 precision issues for FP inequality comparisons.
std::vector< std::string > lineSplitter(const std::string &s, char delimiter)
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
bool greater_equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
double deltaR(double rapidity1, double phi1, double rapidity2, double phi2)
from bare bare rapidity,phi
Helper for azimuthal angle calculations.