ATLAS Offline Software
TileCosmicMuonTileCellAssociationTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * File: TileCosmicMuonTileCellAssociationTool.cxx
7  * Author: Stephen Cole <stephen.cole@cern.ch>
8  *
9  * Created on November 3, 2011, 3:48 PM
10  */
11 
13 #include "CaloIdentifier/TileID.h"
15 #include "GaudiKernel/MsgStream.h"
16 
17 using namespace std;
18 
19 namespace D3PD{
20 
21 TileCosmicMuonTileCellAssociationTool::TileCosmicMuonTileCellAssociationTool(const string& type,
22  const string& name, const IInterface* parent)
23  : Base(type,name,parent),
24  m_tileid(0)
25 {
26 }
27 
29 }
30 
32 {
33  const CaloCellContainer* cellcoll = 0;
34 
35  CHECK( evtStore()->retrieve(cellcoll,"AllCalo") );
37 
38  m_itr=cellcoll->begin();
39  m_cEnd=cellcoll->end();
40 
41  m_tileHash.clear();
42 
43  for(int i=0; i<p.GetTrackNCells();++i)
44  m_tileHash.push_back(p.GetTrackCellHash(i));
45 
46  m_tileItr=m_tileHash.begin();
47 
48  return StatusCode::SUCCESS;
49 }
50 
52  while(m_itr!=m_cEnd){
53  const CaloCell* cell=*m_itr;
54  if(cell->caloDDE()->getSubCalo()==CaloCell_ID::TILE){
55  while(m_tileItr!=m_tileHash.end()){
56  if(cell->ID()==m_tileid->cell_id(*m_tileItr)){
57  ++m_itr;
58  ++m_tileItr;
59  return cell;
60  }
61  ++m_tileItr;
62  }
63  }
64  m_tileItr=m_tileHash.begin();
65  ++m_itr;
66  }
67  return 0;
68 }
69 
70 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
D3PD::TileCosmicMuonTileCellAssociationTool::m_cEnd
CaloCellContainer::const_iterator m_cEnd
Definition: TileCosmicMuonTileCellAssociationTool.h:54
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TileCosmicMuon
Class containing detailed results from TileMuonFitter.
Definition: TileCosmicMuon.h:35
TileCosmicMuonTileCellAssociationTool.h
D3PD::TileCosmicMuonTileCellAssociationTool::~TileCosmicMuonTileCellAssociationTool
virtual ~TileCosmicMuonTileCellAssociationTool()
Definition: TileCosmicMuonTileCellAssociationTool.cxx:28
D3PD::TileCosmicMuonTileCellAssociationTool::next
virtual const CaloCell * next()
Return a pointer to the next element in the association.
Definition: TileCosmicMuonTileCellAssociationTool.cxx:51
D3PD::MultiAssociationTool< TileCosmicMuon, CaloCell >
D3PD::TileCosmicMuonTileCellAssociationTool::m_tileItr
std::vector< IdentifierHash >::iterator m_tileItr
Definition: TileCosmicMuonTileCellAssociationTool.h:56
TileID.h
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::TileCosmicMuonTileCellAssociationTool::reset
virtual StatusCode reset(const TileCosmicMuon &p)
Return the target object.
Definition: TileCosmicMuonTileCellAssociationTool.cxx:31
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
CaloCell_Base_ID::TILE
@ TILE
Definition: CaloCell_Base_ID.h:46
D3PD::TileCosmicMuonTileCellAssociationTool::m_tileHash
std::vector< IdentifierHash > m_tileHash
Definition: TileCosmicMuonTileCellAssociationTool.h:55
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
errorcheck.h
Helpers for checking error return status codes and reporting errors.
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
D3PD::TileCosmicMuonTileCellAssociationTool::m_tileid
const TileID * m_tileid
Definition: TileCosmicMuonTileCellAssociationTool.h:53
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Tile_Base_ID::cell_id
Identifier cell_id(const Identifier &any_id) const
Definition: Tile_Base_ID.cxx:581
D3PD::TileCosmicMuonTileCellAssociationTool::m_itr
CaloCellContainer::const_iterator m_itr
Definition: TileCosmicMuonTileCellAssociationTool.h:54
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.