ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
NSWL1 Namespace Reference

A trigger trigger candidate for a stgc sector. More...

Namespaces

 PadTriggerAdapter
 

Classes

struct  hashPattern
 
class  IMMTriggerTool
 
class  IPadTdsTool
 interface for the PadTDS tools More...
 
class  IPadTriggerLogicTool
 interface for the PadTriggerLogic tools More...
 
class  IPadTriggerLookupTool
 
class  IStripClusterTool
 interface for the Strip Cluster Tools More...
 
class  IStripSegmentTool
 interface for the Strip Cluster Tools More...
 
class  IStripTdsTool
 interface for the StripTDS tools More...
 
class  L1TdrStgcTriggerLogic
 Initial version of the stgc pad trigger logic. More...
 
class  MMTriggerTool
 
class  NSWL1Simulation
 NSW L1 simulation algorithm. More...
 
class  PadData
 abstract class to interface the data hit fragment output from the Pad TDS More...
 
class  PadHits
 
class  PadOfflineData
 class modeling the pad hit fragment for the NSW L1 offline simulation More...
 
class  PadTdsOfflineTool
 
class  PadTdsValidationTree
 
class  PadTrigger
 Holder of the pad trigger information. More...
 
class  PadTriggerLogicOfflineTool
 
class  PadTriggerLookupTool
 
class  PadTriggerValidationTree
 Make TTree to validate the PadTriggerLogicOfflineTool. More...
 
class  SectorTriggerCandidate
 
class  SingleWedgePadTrigger
 
class  StripClusterData
 abstract class to interface the data hit fragment output from the Strip TDS More...
 
class  StripClusterOfflineData
 class modeling the strip hit fragment for the NSW L1 offline simulation More...
 
class  StripClusterTool
 interface for the StripTDS tools More...
 
class  StripData
 abstract class to interface the data hit fragment output from the Strip TDS More...
 
class  StripHits
 
class  StripOfflineData
 class modeling the strip hit fragment for the NSW L1 offline simulation More...
 
class  StripSegmentTool
 interface for the StripTDS tools More...
 
class  StripTdsOfflineTool
 
class  TriggerProcessorTool
 
struct  TrigIsSubsetOf
 whether all pad indices of one trigger are a subset of another one A functor used to remove redundancies 3/4 from 4/4 More...
 

Typedefs

using PAD_MAP = std::map< Identifier, std::vector< PadHits > >
 
using PAD_MAP_IT = std::map< Identifier, std::vector< PadHits > >::iterator
 
using PAD_MAP_ITEM = std::pair< Identifier, std::vector< PadHits > >
 
using STRIP_MAP = std::map< Identifier, std::vector< StripHits > >
 
using STRIP_MAP_IT = std::map< Identifier, std::vector< StripHits > >::iterator
 
using STRIP_MAP_ITEM = std::pair< Identifier, std::vector< StripHits > >
 
using Vertex = boost::geometry::model::d2::point_xy< double >
 
using Polygon = boost::geometry::model::polygon< Vertex >
 
using Vertices = std::vector< Vertex >
 

Enumerations

enum  SECTYPE { SMALL, LARGE }
 

Functions

float eta (float x, float y, float z)
 
float phi (float x, float y, float z)
 
Polygon Project (const Polygon &p, float Zinit, float Zfin)
 
int nVertices (const Polygon &p)
 
Vertex getVertex (const Polygon &p, unsigned int i)
 
Polygon buildPolygon (const Vertices &pts)
 
float area (const Polygon &p)
 
Vertex centroid (const Polygon &p)
 
std::vector< PolygonallIntersections (const Polygon &p1, const Polygon &p2)
 
Polygon firstIntersection (const Polygon &p1, const Polygon &p2)
 
Polygon largestIntersection (const Polygon &p1, const Polygon &p2)
 
Polygon intersectionRegion (const std::vector< Polygon > &polygons)
 
Polygon globalToLocal (const Polygon &pol, float z, const Trk::PlaneSurface &surf)
 
Polygon NilPolygon ()
 
void remove3of4Redundant4of4 (const std::vector< SingleWedgePadTrigger > &trigs4of4, std::vector< SingleWedgePadTrigger > &trigs3of4)
 
bool order_padHits_with_increasing_time (const PadHits &i, const PadHits &j)
 
Amg::Vector3D local_position_to_global_position (const MuonSimData::Deposit &d, const Trk::PlaneSurface &s)
 convert the local position of a simhit to a global position More...
 
StatusCode PadTdsOfflineTool::fill_pad_validation_id ATLAS_NOT_THREAD_SAFE (std::vector< std::vector< std::shared_ptr< PadData >> > &pad_cache) const
 
std::vector< std::shared_ptr< PadData > > filterByMultiplet (const std::vector< std::shared_ptr< PadData >> &pads_in, const int multiplet)
 ! helper function: copy pads with a given multiplet More...
 
std::vector< std::shared_ptr< PadData > > filterByGasGap (const std::vector< std::shared_ptr< PadData >> &pads_in, const int gasgap)
 ! helper function: copy pads with a given gas gap More...
 
bool sortByLayer (const std::shared_ptr< PadOfflineData > &p0, const std::shared_ptr< PadOfflineData > &p1)
 
template<class T >
void print (const T &t)
 
template<int XY>
float coordinate (const Vertex &v)
 
template<int XY>
std::pair< float, float > coordinateRange (const Polygon &p)
 

Variables

const std::vector< float > BandsInEtaLargeSector
 
const std::vector< float > BandsInEtaSmallSector
 
const double c_inverse = 3.33564095198e-3
 
const int STGC_LAYER_1 =1
 
const int STGC_LAYER_2 =2
 
const int STGC_LAYER_3 =3
 
const int STGC_LAYER_4 =4
 
const int SMALL_PIVOT =0
 
const int SMALL_CONFIRM =1
 
const int LARGE_PIVOT =2
 
const int LARGE_CONFIRM =3
 
const int MAXLAYERSHIT =4
 
const std::vector< size_t > SECTORS ={0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
 
const std::vector< size_t > SIDES ={0,1}
 
const int nullPadNumber =-9999
 

Detailed Description

A trigger trigger candidate for a stgc sector.

A trigger with coincident hits in at least 3 out of 4 layers within a wedge.

david.nosp@m.e.ge.nosp@m.rbaud.nosp@m.o@gm.nosp@m.ail.c.nosp@m.om, April 2013

Typedef Documentation

◆ PAD_MAP

using NSWL1::PAD_MAP = typedef std::map < Identifier,std::vector<PadHits> >

Definition at line 27 of file PadTdsOfflineTool.cxx.

◆ PAD_MAP_IT

using NSWL1::PAD_MAP_IT = typedef std::map < Identifier,std::vector<PadHits> >::iterator

Definition at line 28 of file PadTdsOfflineTool.cxx.

◆ PAD_MAP_ITEM

using NSWL1::PAD_MAP_ITEM = typedef std::pair< Identifier,std::vector<PadHits> >

Definition at line 29 of file PadTdsOfflineTool.cxx.

◆ Polygon

using NSWL1::Polygon = typedef boost::geometry::model::polygon<Vertex>

Definition at line 18 of file GeoUtils.h.

◆ STRIP_MAP

using NSWL1::STRIP_MAP = typedef std::map < Identifier,std::vector<StripHits> >

Definition at line 23 of file StripTdsOfflineTool.cxx.

◆ STRIP_MAP_IT

using NSWL1::STRIP_MAP_IT = typedef std::map < Identifier,std::vector<StripHits> >::iterator

Definition at line 24 of file StripTdsOfflineTool.cxx.

◆ STRIP_MAP_ITEM

using NSWL1::STRIP_MAP_ITEM = typedef std::pair< Identifier,std::vector<StripHits> >

Definition at line 25 of file StripTdsOfflineTool.cxx.

◆ Vertex

using NSWL1::Vertex = typedef boost::geometry::model::d2::point_xy<double>

Definition at line 17 of file GeoUtils.h.

◆ Vertices

using NSWL1::Vertices = typedef std::vector<Vertex>

Definition at line 19 of file GeoUtils.h.

Enumeration Type Documentation

◆ SECTYPE

Enumerator
SMALL 
LARGE 

Definition at line 17 of file tdr_compat_enum.h.

17 {SMALL,LARGE};

Function Documentation

◆ allIntersections()

std::vector< Polygon > NSWL1::allIntersections ( const Polygon p1,
const Polygon p2 
)

Definition at line 65 of file GeoUtils.cxx.

65  {
66  std::vector<Polygon> out;
68  return out;
69 
70 }

◆ area()

float NSWL1::area ( const Polygon p)

Definition at line 55 of file GeoUtils.cxx.

55  {
56  return boost::geometry::area(p);
57 }

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode PadTdsOfflineTool::fill_pad_validation_id NSWL1::ATLAS_NOT_THREAD_SAFE ( std::vector< std::vector< std::shared_ptr< PadData >> > &  pad_cache) const

Definition at line 114 of file PadTdsOfflineTool.cxx.

114  {
115  float bin_offset = +0.; // used to center the bin on the value of the Pad Id
116  for (const std::vector<std::shared_ptr<PadData>>& pad : pad_cache) {
117  m_validation_tree->fill_num_pad_hits(pad.size());
118  for (const std::shared_ptr<PadData> &pd : pad) {
119  Identifier Id( pd->id() );
120  const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcReadoutElement(Id);
121  const Trk::PlaneSurface &surface = rdoEl->surface(Id);
122  // gathers the readout element associated to this PAD + the PAD Local/Global psoition
125  rdoEl->stripPosition(Id,pad_lpos); // shouldn't this be padPosition? DG 2014-01-17
126  surface.localToGlobal(pad_lpos, pad_gpos, pad_gpos);
127  ATH_MSG_DEBUG("Pad at GposX " << pad_gpos.x() << " GposY " << pad_gpos.y() << " GposZ " << pad_gpos.z()
128  <<" from multiplet "<< pd->multipletId()<<" and gasGapId "<<pd->gasGapId() );
129 
130  std::vector<MuonSimData::Deposit> deposits;
131  if(get_truth_hits_this_pad(Id, deposits)){
132  for(const auto& d : deposits) {
133  m_validation_tree->fill_truth_hit_global_pos(local_position_to_global_position(d, surface));
134  }
135  }
136 
137  // Fill Pad Corners
138  std::array<Amg::Vector2D, 4> local_pad_corners{make_array<Amg::Vector2D, 4>(Amg::Vector2D::Zero())};
139  rdoEl->padCorners(Id,local_pad_corners);
140  std::vector<Amg::Vector3D> global_pad_corners;
141  for(const auto& local_corner : local_pad_corners) {
142  Amg::Vector3D global_corner{Amg::Vector3D::Zero()};
143  surface.localToGlobal(local_corner, global_corner, global_corner);
144  global_pad_corners.push_back(global_corner);
145  }
146  m_validation_tree->fill_hit_global_corner_pos(global_pad_corners);
147 
148  // gathers the Offline PAD EDM from the interface
149  PadOfflineData* pad_offline = dynamic_cast<PadOfflineData*>( pd.get() );
150  m_validation_tree->fill_hit_global_pos(pad_gpos);
151  m_validation_tree->fill_offlineid_info(*pad_offline, bin_offset);
152  }
153  }
154  return StatusCode::SUCCESS;
155  }

◆ buildPolygon()

Polygon NSWL1::buildPolygon ( const Vertices pts)

Definition at line 44 of file GeoUtils.cxx.

44  {//hm
45  Polygon shape;
46  Vertices vts=pts;
47  //to complete the loop...
48  vts.push_back(vts[0]);
49 
50  boost::geometry::assign_points(shape, pts);
51  boost::geometry::correct(shape);
52  return shape;
53 }

◆ centroid()

Vertex NSWL1::centroid ( const Polygon p)

Definition at line 59 of file GeoUtils.cxx.

59  {
60  Vertex v;
62  return v;
63 }

◆ coordinate()

template<int XY>
float NSWL1::coordinate ( const Vertex v)

Definition at line 56 of file GeoUtils.h.

56  {
57  return boost::geometry::get<XY>(v);
58  }

◆ coordinateRange()

template<int XY>
std::pair<float,float> NSWL1::coordinateRange ( const Polygon p)

Definition at line 67 of file GeoUtils.h.

67  {
68  std::vector<float> values;
69  for(auto vertex : boost::geometry::exterior_ring(p)){
70  float currVal=boost::geometry::get<XY>(vertex);
71  values.push_back(currVal);
72  }
73  std::sort(values.begin(),values.end() );
74  return std::make_pair(values[0],values.back());
75  }

◆ eta()

float NSWL1::eta ( float  x,
float  y,
float  z 
)

Definition at line 9 of file GeoUtils.cxx.

9  {
10  ROOT::Math::XYZVector V(x,y,z);
11  return V.Eta();
12 }

◆ filterByGasGap()

std::vector<std::shared_ptr<PadData> > NSWL1::filterByGasGap ( const std::vector< std::shared_ptr< PadData >> &  pads_in,
const int  gasgap 
)

! helper function: copy pads with a given gas gap

Definition at line 91 of file PadTriggerLogicOfflineTool.cxx.

91  {
92  std::vector<std::shared_ptr<PadData>> pads_out;
93  pads_out.reserve(0.25*pads_in.size()); // educated guess (4 gas gaps)
94  for(const auto& p : pads_in)
95  if(p->gasGapId()==gasgap)
96  pads_out.push_back(p);
97  return pads_out;
98 }

◆ filterByMultiplet()

std::vector<std::shared_ptr<PadData> > NSWL1::filterByMultiplet ( const std::vector< std::shared_ptr< PadData >> &  pads_in,
const int  multiplet 
)

! helper function: copy pads with a given multiplet

Definition at line 82 of file PadTriggerLogicOfflineTool.cxx.

82  {
83  std::vector<std::shared_ptr<PadData>> pads_out;
84  pads_out.reserve(0.5*pads_in.size()); // educated guess (half inner multiplet, half outer multiplet)
85  for(const auto& p : pads_in)
86  if(p->multipletId()==multiplet)
87  pads_out.push_back(p);
88  return pads_out;
89 }

◆ firstIntersection()

Polygon NSWL1::firstIntersection ( const Polygon p1,
const Polygon p2 
)

Definition at line 73 of file GeoUtils.cxx.

73  {
74  std::vector<Polygon> pols=allIntersections(p1,p2);
75  //we have to return something
76  if(pols.empty()) return NilPolygon();
77  return allIntersections(p1,p2).at(0);
78 }

◆ getVertex()

Vertex NSWL1::getVertex ( const Polygon p,
unsigned int  i 
)

Definition at line 39 of file GeoUtils.cxx.

39  {
40  return boost::geometry::exterior_ring(p)[i];
41 }

◆ globalToLocal()

Polygon NSWL1::globalToLocal ( const Polygon pol,
float  z,
const Trk::PlaneSurface surf 
)

Definition at line 103 of file GeoUtils.cxx.

103  {
104 
105  Vertices local_vertices;
106  for(const auto& v : boost::geometry::exterior_ring(pol)){
107  float x=coordinate<0>(v);
108  float y=coordinate<1>(v);
109  Amg::Vector2D local_corner;
110  surf.globalToLocal(Amg::Vector3D(x,y,z),Amg::Vector3D(),local_corner);
111  local_vertices.emplace_back(Vertex(local_corner.x(),local_corner.y()));
112  }
113  return buildPolygon(local_vertices);
114 }

◆ intersectionRegion()

Polygon NSWL1::intersectionRegion ( const std::vector< Polygon > &  polygons)

Definition at line 91 of file GeoUtils.cxx.

91  {
92  Polygon ovl=polygons[0];
93  for(unsigned int i=1;i<polygons.size();i++){
94  Polygon curr=polygons[i];
95  Polygon overlap=largestIntersection(curr,ovl);
96  ovl=overlap;
97  }
98  return ovl;
99 }

◆ largestIntersection()

Polygon NSWL1::largestIntersection ( const Polygon p1,
const Polygon p2 
)

Definition at line 80 of file GeoUtils.cxx.

80  {
81  std::vector<Polygon> pols=allIntersections(p1,p2);
82  if(pols.empty()) return NilPolygon();
83 
84  std::sort(pols.begin(),pols.end(),[](const Polygon& a,const Polygon& b){return area(a)>area(b);});
85  return pols[0];
86 
87 }

◆ local_position_to_global_position()

Amg::Vector3D NSWL1::local_position_to_global_position ( const MuonSimData::Deposit d,
const Trk::PlaneSurface s 
)

convert the local position of a simhit to a global position

Relies on the transformation provided by the pad PlaneSurface. Used in PadTdsOfflineTool::fill_pad_validation_id().

Definition at line 105 of file PadTdsOfflineTool.cxx.

106  {
107  double localPosX(d.second.firstEntry()), localPosY(d.second.secondEntry());
108  Amg::Vector2D localPos(localPosX, localPosY);
109  Amg::Vector3D globalPos{Amg::Vector3D::Zero()};
110  s.localToGlobal(localPos, globalPos, globalPos);
111  return globalPos;
112  }

◆ NilPolygon()

Polygon NSWL1::NilPolygon ( )

Definition at line 118 of file GeoUtils.cxx.

118  {
119  Vertices nil={
120  Vertex(0,0),
121  Vertex(0,0),
122  Vertex(0,0),
123  Vertex(0,0),
124  Vertex(0,0)
125  };
126  return buildPolygon(nil);
127 }

◆ nVertices()

int NSWL1::nVertices ( const Polygon p)

Definition at line 35 of file GeoUtils.cxx.

35  {
36  return boost::geometry::num_points(p);
37 }

◆ order_padHits_with_increasing_time()

bool NSWL1::order_padHits_with_increasing_time ( const PadHits i,
const PadHits j 
)

Definition at line 25 of file PadTdsOfflineTool.cxx.

25 { return i.t_pad->time() < j.t_pad->time(); }

◆ phi()

float NSWL1::phi ( float  x,
float  y,
float  z 
)

Definition at line 14 of file GeoUtils.cxx.

14  {
15  ROOT::Math::XYZVector V(x,y,z);
16  return V.Phi();
17 }

◆ print()

template<class T >
void NSWL1::print ( const T &  t)

Definition at line 32 of file GeoUtils.h.

32 {std::cout<<boost::geometry::wkt(t)<<std::endl;}

◆ Project()

Polygon NSWL1::Project ( const Polygon p,
float  Zinit,
float  Zfin 
)

Definition at line 19 of file GeoUtils.cxx.

19  {
20  //loop over vertices
21  Vertices vt;
22  for(const auto& v : boost::geometry::exterior_ring(p)){
23  float x=coordinate<0>(v);
24  float y=coordinate<1>(v);
25  ROOT::Math::XYZVector vec(x, y, Zinit);
26  float phi=vec.Phi();
27  float theta=vec.Theta();
28  vec.SetZ(Zfin);
29  ROOT::Math::Polar3DVector projectedVec(vec.R(), theta, phi);
30  vt.push_back(Vertex(projectedVec.X(), projectedVec.Y()));
31  }
32  return buildPolygon(vt);
33 }

◆ remove3of4Redundant4of4()

void NSWL1::remove3of4Redundant4of4 ( const std::vector< SingleWedgePadTrigger > &  trigs4of4,
std::vector< SingleWedgePadTrigger > &  trigs3of4 
)

Definition at line 336 of file L1TdrStgcTriggerLogic.cxx.

336  {//haha :)
337  for (std::vector< SingleWedgePadTrigger >::const_iterator t4 = trigs4of4.begin(); t4 != trigs4of4.end();++t4) {
338  trigs3of4.erase(std::remove_if(trigs3of4.begin(), trigs3of4.end(),TrigIsSubsetOf(*t4)),trigs3of4.end());
339  }
340  }

◆ sortByLayer()

bool NSWL1::sortByLayer ( const std::shared_ptr< PadOfflineData > &  p0,
const std::shared_ptr< PadOfflineData > &  p1 
)

Definition at line 16 of file SingleWedgePadTrigger.cxx.

16  {
17  return p0->gasGapId()<p1->gasGapId();
18  }

Variable Documentation

◆ BandsInEtaLargeSector

const std::vector<float> NSWL1::BandsInEtaLargeSector

Definition at line 16 of file sTGCTriggerBandsInEta.h.

◆ BandsInEtaSmallSector

const std::vector<float> NSWL1::BandsInEtaSmallSector

Definition at line 111 of file sTGCTriggerBandsInEta.h.

◆ c_inverse

const double NSWL1::c_inverse = 3.33564095198e-3

Definition at line 13 of file tdr_compat_enum.h.

◆ LARGE_CONFIRM

const int NSWL1::LARGE_CONFIRM =3

Definition at line 15 of file tdr_compat_enum.h.

◆ LARGE_PIVOT

const int NSWL1::LARGE_PIVOT =2

Definition at line 15 of file tdr_compat_enum.h.

◆ MAXLAYERSHIT

const int NSWL1::MAXLAYERSHIT =4

Definition at line 16 of file tdr_compat_enum.h.

◆ nullPadNumber

const int NSWL1::nullPadNumber =-9999

Definition at line 21 of file tdr_compat_enum.h.

◆ SECTORS

const std::vector<size_t> NSWL1::SECTORS ={0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}

Definition at line 19 of file tdr_compat_enum.h.

◆ SIDES

const std::vector<size_t> NSWL1::SIDES ={0,1}

Definition at line 20 of file tdr_compat_enum.h.

◆ SMALL_CONFIRM

const int NSWL1::SMALL_CONFIRM =1

Definition at line 15 of file tdr_compat_enum.h.

◆ SMALL_PIVOT

const int NSWL1::SMALL_PIVOT =0

Definition at line 15 of file tdr_compat_enum.h.

◆ STGC_LAYER_1

const int NSWL1::STGC_LAYER_1 =1

Definition at line 14 of file tdr_compat_enum.h.

◆ STGC_LAYER_2

const int NSWL1::STGC_LAYER_2 =2

Definition at line 14 of file tdr_compat_enum.h.

◆ STGC_LAYER_3

const int NSWL1::STGC_LAYER_3 =3

Definition at line 14 of file tdr_compat_enum.h.

◆ STGC_LAYER_4

const int NSWL1::STGC_LAYER_4 =4

Definition at line 14 of file tdr_compat_enum.h.

MuonGM::sTgcReadoutElement::padCorners
bool padCorners(const Identifier &id, std::array< Amg::Vector2D, 4 > &corners) const
pad corners
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h:360
Trk::PlaneSurface::globalToLocal
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specified for PlaneSurface: GlobalToLocal method without dynamic memory allocation - boolean checks i...
Definition: PlaneSurface.cxx:213
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
EgEfficiencyCorr_testFixedInput.pts
list pts
Definition: EgEfficiencyCorr_testFixedInput.py:10
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
hist_file_dump.d
d
Definition: hist_file_dump.py:137
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
NSWL1::Polygon
boost::geometry::model::polygon< Vertex > Polygon
Definition: GeoUtils.h:18
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
NSWL1::largestIntersection
Polygon largestIntersection(const Polygon &p1, const Polygon &p2)
Definition: GeoUtils.cxx:80
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
NSWL1::allIntersections
std::vector< Polygon > allIntersections(const Polygon &p1, const Polygon &p2)
Definition: GeoUtils.cxx:65
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
NSWL1::NilPolygon
Polygon NilPolygon()
Definition: GeoUtils.cxx:118
x
#define x
intersection
std::vector< std::string > intersection(std::vector< std::string > &v1, std::vector< std::string > &v2)
Definition: compareFlatTrees.cxx:25
MuonGM::MuonClusterReadoutElement::surface
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
Definition: MuonClusterReadoutElement.h:123
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:797
MuonGM::sTgcReadoutElement::stripPosition
virtual bool stripPosition(const Identifier &id, Amg::Vector2D &pos) const override final
strip position - should be renamed to channel position If the strip number is outside the range of va...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h:323
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
lumiFormat.i
int i
Definition: lumiFormat.py:92
z
#define z
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonGM::sTgcReadoutElement
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h:28
SMALL
@ SMALL
Definition: sTGCenumeration.h:39
LUCID_EventTPCnv_Dict::t4
std::vector< LUCID_RawDataContainer_p1 > t4
Definition: LUCID_EventTPCnvDict.h:29
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
validateBDTTau.vt
vt
Definition: validateBDTTau.py:43
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.PyAthena.v
v
Definition: PyAthena.py:157
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
a
TList * a
Definition: liststreamerinfos.cxx:10
y
#define y
NSWL1::local_position_to_global_position
Amg::Vector3D local_position_to_global_position(const MuonSimData::Deposit &d, const Trk::PlaneSurface &s)
convert the local position of a simhit to a global position
Definition: PadTdsOfflineTool.cxx:105
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623
Trk::PlaneSurface
Definition: PlaneSurface.h:64
LARGE
@ LARGE
Definition: sTGCenumeration.h:40
area
double area(double R)
Definition: ConvertStaveServices.cxx:42
Trk::PlaneSurface::localToGlobal
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for PlaneSurface: LocalToGlobal method without dynamic memory allocation.
Definition: PlaneSurface.cxx:204
NSWL1::Vertices
std::vector< Vertex > Vertices
Definition: GeoUtils.h:19
NSWL1::centroid
Vertex centroid(const Polygon &p)
Definition: GeoUtils.cxx:59
NSWL1::buildPolygon
Polygon buildPolygon(const Vertices &pts)
Definition: GeoUtils.cxx:44
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32