21 for(
auto scell : *scells) {
22 if ( scell->et() < Thr )
continue;
32 for(
auto scell : *scells) {
33 if ( scell->et() < Thr )
continue;
34 if ( scell->caloDDE()->getSampling()==2 || scell->caloDDE()->getSampling()==6 ) {
43 const float detaSize,
const float dphiSize)
const
47 float etacell =
cell->eta();
48 float phicell =
cell->phi();
49 for(
auto scell : *scells) {
50 if ( std::abs( scell->eta() - etacell) > detaSize )
continue;
51 float dphi = std::abs( scell->phi() - phicell);
52 dphi = std::abs(
M_PI - dphi );
53 dphi = std::abs(
M_PI - dphi );
54 if ( std::abs( dphi ) > dphiSize )
continue;
62 std::vector<const CaloCell*>&
out,
const float detaSize,
const float dphiSize)
const
65 for(
auto scell : *scells) {
66 if ( std::abs( scell->eta() - etacell) > detaSize )
continue;
67 float dphi = std::abs( scell->phi() - phicell);
68 dphi = std::abs(
M_PI - dphi );
69 dphi = std::abs(
M_PI - dphi );
70 if ( std::abs( dphi ) > dphiSize )
continue;
78 std::vector<const xAOD::TriggerTower*>&
out)
const
81 for(
auto scell : *scells) {
82 if ( std::abs( scell->eta() - etacell) > m_detaTT )
continue;
83 float dphi = std::abs( scell->phi() - phicell);
84 dphi = std::abs(
M_PI - dphi );
85 dphi = std::abs(
M_PI - dphi );
86 if ( std::abs( dphi ) > m_dphiTT )
continue;
95 if ( !
cell )
return false;
96 int samp =
cell->caloDDE()->getSampling();
97 if ( (samp >= 8) && (samp!=21) )
return false;
98 float cellpt = 1.0001*
cell->et();
99 for(
auto scell : scells){
100 int samp1 = scell->caloDDE()->getSampling();
101 if ( ( samp1 >= 8 ) && (samp1!=21) )
continue;
102 if ( scell->ID() ==
cell->ID() )
continue;
103 if ( scell->et() > cellpt )
return false;
112 float totalSum = 0.0;
113 for(
auto scell : scells) {
114 int samp1 = scell->caloDDE()->getSampling();
115 if ( (samp1<8) || (samp1==21) ) totalSum+= scell->energy();
124 float totalSum = 0.0;
125 for(
auto scell : scells) {
126 if ( (scell->caloDDE()->getSampling()==2) ||(scell->caloDDE()->getSampling()==6) ) {
127 totalSum+= scell->energy();
137 float totalSum = 0.0;
138 for(
auto scell : scells){
139 if ( (scell->caloDDE()->getSampling() <8) || ( scell->caloDDE()->getSampling()>=22) )
continue;
141 totalSum+= (scell->energy());
150 float totalSum = 0.0;
151 for(
auto scell : scells){
152 if ( std::abs( scell->eta() ) > 1.5 )
continue;
153 if ( scell->sampling() == 0 )
continue;
154 totalSum+= (scell->pt())*TMath::CosH(scell->eta());
156 return totalSum * 1
e3;
165 double etaClusterD=0.0;
166 double phiClusterD=0.0;
167 double energyCluster=0.0;
168 bool cross_phi_bound=
false;
170 for(
auto scell : scells){
171 if ( std::abs( scell->phi() ) < 2.7 )
continue;
172 int layer = scell->caloDDE()->getSampling();
173 if ( (
layer != 2 ) && (
layer != 6 ) )
continue;
174 int cell_sign = ( scell->phi() >=0 ? 1 : -1 );
175 if ( ( last_sign!=0 ) && ( last_sign != cell_sign ) ) cross_phi_bound =
true;
176 last_sign = cell_sign;
178 for(
auto scell : scells){
179 int layer = scell->caloDDE()->getSampling();
180 if ( (
layer != 2 ) && (
layer != 6 ) )
continue;
181 double scelleta = scell->eta();
182 double scellphi = scell->phi();
183 double scellet = scell->et();
184 etaClusterD+= (scellet * scelleta);
185 if (cross_phi_bound && scellphi < 0 ) scellphi += 2 *
M_PI;
186 phiClusterD+= (scellet * scellphi);
187 energyCluster+= (scellet) ;
189 if ( energyCluster > 0.1 ) {
190 etaClusterD/=energyCluster;
191 phiClusterD/=energyCluster;
192 etaCluster = (
float)etaClusterD;
193 phiCluster = (
float)phiClusterD;
194 if ( phiCluster >
M_PI ) phiCluster-=2*
M_PI;