![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "CaloGeoHelpers/CaloSampling.h"
48 return StatusCode::SUCCESS;
62 outputTracks->setStore( outputAuxTracks );
68 for(; trackItr != trackEnd; ++trackItr ){
107 for(; trackItr2 != trackEnd2; ++trackItr2 ){
108 if(trackItr==trackItr2)
continue;
109 const TRACK* track2 = *trackItr2;
110 double dif_eta =
track->eta() - track2->
eta();
111 double dif_phi =
track->phi() - track2->
phi();
112 if(dif_phi<0) dif_phi=-dif_phi;
113 if(dif_phi>
M_PI){dif_phi=2*
M_PI-dif_phi;}
114 double deltaR = sqrt(dif_eta*dif_eta+dif_phi*dif_phi);
135 outputClusters->setStore( outputAuxClusters );
149 for(;clusterItr != clusterEnd; ++clusterItr){
150 const CLUSTER* cluster = *clusterItr;
154 for( ; trackItr != trackEnd; ++trackItr ){
160 if (cell_sid==0 || cell_sid==4 ){lay=0;}
161 else if(cell_sid==1 || cell_sid==5 ){lay=1;}
162 else if(cell_sid==2 || cell_sid==6 ){lay=2;}
163 else if(cell_sid==3 || cell_sid==7 ){lay=3;}
164 else if(cell_sid==12 || cell_sid==18){lay=4;}
165 else if(cell_sid==13 || cell_sid==19){lay=5;}
166 else if(cell_sid==15 || cell_sid==17){lay=5;}
167 else if(cell_sid==14 || cell_sid==20){lay=6;}
168 else if(cell_sid==16) {lay=6;}
169 else if(cell_sid==8 ){lay=7;}
170 else if(cell_sid==9 ){lay=8;}
171 else if(cell_sid==10 ){lay=9;}
172 else if(cell_sid==11 ){lay=10;}
173 if(lay==-1)
continue;
176 if(dif_phi<0) dif_phi=-dif_phi;
177 if(dif_phi>
M_PI){dif_phi=2*
M_PI-dif_phi;}
178 double tmp = sqrt(dif_eta*dif_eta+dif_phi*dif_phi);
183 while(
i!=outputClusters->
size()){
if(outputClusters->
at(
i)==cluster){
break;}
i++;}
184 if(
i==outputClusters->
size()){
190 assocItr->push_back(
i);
211 clusterItr = outputClusters->
begin();
212 clusterEnd = outputClusters->
end();
215 for(;clusterItr != clusterEnd; ++clusterItr){
216 const CLUSTER* cluster = *clusterItr;
220 for(;cellItr != cellEnd; ++cellItr){
223 while(
i!=outputCells->size()){
if(outputCells->
at(
i)==
cell){
break;}
i++;}
224 if(
i==outputCells->size()){
228 assocItr->push_back(
i);
240 trackItr = outputTracks->
begin();
241 trackEnd = outputTracks->
end();
242 assocItr = trackCells->begin();
244 for( ; trackItr != trackEnd; ++trackItr ){
250 for(;cellItr != cellEnd; ++cellItr){
255 if (cell_sid==0 || cell_sid==4 ){lay=0;}
256 else if(cell_sid==1 || cell_sid==5 ){lay=1;}
257 else if(cell_sid==2 || cell_sid==6 ){lay=2;}
258 else if(cell_sid==3 || cell_sid==7 ){lay=3;}
259 else if(cell_sid==12 || cell_sid==18){lay=4;}
260 else if(cell_sid==13 || cell_sid==19){lay=5;}
261 else if(cell_sid==15 || cell_sid==17){lay=5;}
262 else if(cell_sid==14 || cell_sid==20){lay=6;}
263 else if(cell_sid==16) {lay=6;}
264 else if(cell_sid==8 ){lay=7;}
265 else if(cell_sid==9 ){lay=8;}
266 else if(cell_sid==10 ){lay=9;}
267 else if(cell_sid==11 ){lay=10;}
268 if(lay==-1)
continue;
269 double dif_eta =
cell->eta() - etrack[lay][3];
270 double dif_phi =
cell->phi() - etrack[lay][4];
271 if(dif_phi<0) dif_phi=-dif_phi;
272 if(dif_phi>
M_PI){dif_phi=2*
M_PI-dif_phi;}
273 double deltaR = sqrt(dif_eta*dif_eta+dif_phi*dif_phi);
276 while(
i!=outputCells->size()){
if(outputCells->
at(
i)==
cell){
break;}
i++;}
277 if(
i==outputCells->size()){
280 assocItr->push_back(
i);
286 ATH_MSG_DEBUG(
"Number of selected cells: " << outputCells->size());
294 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
virtual double pt() const override final
The transverse momentum ( ) of the particle.
ElementProxy at(size_type n)
Access an element, as an lvalue.
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
Const iterator class for DataVector/DataList.
Temporary container used until we have I/O for AuxStoreInternal.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
DataVector adapter that acts like it holds const pointers.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
std::string m_inputTracks
std::string m_trackClusters
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
ToolHandle< ITrackTools > m_trackInCalo
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Description of a calorimeter cluster.
std::string m_clusterCells
virtual StatusCode execute()
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string m_inputClusters
#define CHECK(...)
Evaluate an expression and check for errors.
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
std::string m_outputCells
Auxiliary container for calorimeter cluster containers.
CaloClusterAuxContainer_v2 CaloClusterAuxContainer
Define the latest version of the calorimeter cluster auxiliary container.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void makePrivateStore()
Create a new (empty) private store for this object.
Container class for CaloCell.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
virtual StatusCode initialize()
Data object for each calorimeter readout cell.
std::string m_outputTracks
DataVector adapter that acts like it holds const pointers.
const_cell_iterator cell_end() const
TileEopFilterAlg(const std::string &name, ISvcLocator *pSvcLocator)
Class describing a TrackParticle.
const T * at(size_type n) const
Access an element, as an rvalue.
std::string m_outputClusters
const_iterator to loop over cells belonging to a cluster
size_type size() const noexcept
Returns the number of elements in the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)