|
ATLAS Offline Software
|
#include <CscSegmentMaker.h>
|
| CscSegmentMaker (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual StatusCode | initialize () override |
|
ReturnCode | FindSuperPointCsc (const TrigL2MuonSA::CscHits &cscHits, std::vector< TrigL2MuonSA::TrackPattern > &v_trackPatterns, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MuonRoad &muroad) const |
|
ReturnCode | make_segment (int mod_hash, TrigL2MuonSA::CscHits clusters[8], CscSegment &cscsegment, CscSegment &cscsegment_noip, const MuonGM::MuonDetectorManager *muDetMgr) const |
|
ReturnCode | make_2dsegment (int measphi, const localCscHit &ip_loc, const std::vector< localCscHit > hits_loc[4], local2dSegment &seg2d_eta, local2dSegment &local2d_noip, int &nhite) const |
|
ReturnCode | make_2dseg4hit (int measphi, const localCscHit &ip_loc, std::vector< localCscHit > hits_loc[4], std::vector< local2dSegment > &seg2d_4hitCollection, int &nhite) const |
|
ReturnCode | make_2dseg3hit (int measphi, const localCscHit &ip_loc, const std::vector< localCscHit > hits_loc[4], std::vector< local2dSegment > &seg2d_4hitCollection, int &nhit) const |
|
ReturnCode | fit_clusters (int measphi, const std::vector< localCscHit > &hits_fit, local2dSegment &seg2d) const |
|
ReturnCode | make_4dsegment (const local2dSegment &seg2d_eta, const local2dSegment &seg2d_phi, Amg::Vector3D &seg_pos, Amg::Vector3D &seg_dir) const |
|
ReturnCode | getModuleSP (int mod_hash[2], const TrigL2MuonSA::TgcFitResult &tgcFitResult, int phibin, const TrigL2MuonSA::MuonRoad &muroad, const int exist_clusters[32]) const |
|
ReturnCode | display_hits (const std::vector< localCscHit > localHits[4]) const |
|
CscSegment | segmentAtFirstLayer (int mod_hash, TrigL2MuonSA::CscSegment *mu_seg) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 30 of file CscSegmentMaker.h.
◆ StoreGateSvc_t
◆ CscSegmentMaker()
TrigL2MuonSA::CscSegmentMaker::CscSegmentMaker |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ display_hits()
Definition at line 654 of file CscSegmentMaker.cxx.
656 for(
unsigned int ilyr=0; ilyr<4; ++ilyr){
657 for (
unsigned int ihit=0; ihit<localHits[ilyr].size(); ++ihit) {
658 const localCscHit &locHit = localHits[ilyr][ihit];
659 ATH_MSG_DEBUG(
"measphi=" << locHit.measphi <<
" wirelyr=" << ilyr+1
660 <<
" x=" << locHit.loc_x <<
" y=" << locHit.loc_y <<
" z=" << locHit.loc_z
661 <<
" err=" << locHit.error <<
" res=" << locHit.residual);
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ FindSuperPointCsc()
Definition at line 35 of file CscSegmentMaker.cxx.
44 if( !cscHits.empty() ){
49 int hash_clusters[32]={0};
52 for(
unsigned int iclu=0; iclu<cscHits.size(); ++iclu){
63 if(0<=module_hash && 32>module_hash){
64 clusters[module_hash][cathodelayer].push_back( cscHit );
65 hash_clusters[module_hash]=1;
73 int hashSPs[2]={999,999};
76 bool found_segment=
false;
77 for(
int ihash=0; ihash<2; ++ihash){
78 if(found_segment)
break;
80 int hashSP=hashSPs[ihash];
81 if(hashSP>32)
continue;
84 CscSegment cscsegment, cscsegment_noip;
87 track.hashID_CSC = hashSP;
93 bool &large_dphidz =
track.large_dPhidZ;
94 double &outerCorFactor =
track.outerCorFactor;
97 double tgcmid1z = tgcFitResult.
tgcMid1[3];
98 double tgcmid2z = tgcFitResult.
tgcMid2[3];
99 double phimiddle = tgcFitResult.
phi;
100 double dPhidz = tgcFitResult.
dPhidZ;
101 if( 0.75
e-6<std::abs(dPhidz) ) large_dphidz=
true;
102 double tgcmidZ = (tgcmid1z+tgcmid2z)/2.;
103 double outerz = outerSP->
Z;
108 double CSCR=cscsegment_ext.x()*
std::cos(phiMod)+cscsegment_ext.y()*
std::sin(phiMod);
109 double CSCZ=cscsegment_ext.z();
110 double PhiAtCsc = phimiddle;
114 superPoint->
Z = CSCZ;
115 superPoint->
R = CSCSPR;
116 superPoint->
Alin = cscsegment_ext.slopeRZ();
117 superPoint->
Blin = cscsegment_ext.interceptRZ();
118 superPoint->
Npoint = cscsegment_ext.nHitEta();
119 superPoint->
Chi2 = cscsegment_ext.chiSquare();
121 <<
",CSCR=" << CSCSPR <<
",CSCZ=" << CSCZ
122 <<
",Slope=" << cscsegment_ext.slopeRZ() <<
",Intercept=" << cscsegment_ext.interceptRZ()
123 <<
",nHitsEta=" << cscsegment_ext.nHitEta() <<
",Chi2="<< cscsegment_ext.chiSquare());
126 double phiouter = phimiddle+std::abs(outerz-tgcmidZ)*dPhidz;
◆ fit_clusters()
Definition at line 456 of file CscSegmentMaker.cxx.
476 for (
unsigned int ihit=0; ihit< hits_fit.size(); ++ihit) {
479 double x= hits_fit[ihit].loc_z;
480 double y= (measphi==0) ? hits_fit[ihit].loc_y : hits_fit[ihit].loc_x;
481 double err= hits_fit[ihit].error;
487 if( !hits_fit[ihit].isIP ){
488 seg2d.stationname=hits_fit[ihit].stationname;
489 aver_res +=
w*hits_fit[ihit].residual;
498 seg2d.residual=aver_res/rq;
501 for (
unsigned int ihit=0; ihit< hits_fit.size(); ++ihit) {
503 double x= hits_fit[ihit].loc_z;
504 double y= (measphi==0) ? hits_fit[ihit].loc_y : hits_fit[ihit].loc_x;
505 double err = hits_fit[ihit].error;
507 Stt +=
w*(
x-Sx/
S)*(
x-Sx/
S);
508 aStt +=
w*
y*(
x-Sx/
S);
518 a = seg2d.a = aStt/Stt;
519 b = seg2d.b = (Sy-Sx*
a)/
S;
525 seg2d.chi2 = Syy +
a*
a*Sxx + 2*
b*
a*Sx +
b*
b*
S - 2*
b*Sy - 2*
a*Sxy;
527 ATH_MSG_DEBUG(
"fit: a=" <<
a <<
" b=" <<
b <<
" chi2=" << seg2d.chi2 );
◆ getModuleSP()
Definition at line 581 of file CscSegmentMaker.cxx.
590 for(
unsigned int imod=0; imod<32;++imod){
592 if( 0==hash_clusters[imod] )
continue;
597 ATH_MSG_DEBUG(
"getModuleSP()::(phi,side) modlue:(" << phiMod <<
"," << stationeta <<
") tgcroad:(" << tgcFitResult.
phi <<
"," <<
side <<
")");
598 if( std::abs(dphi)>
M_PI/8. ||
side != stationeta)
continue;
603 if(imod<16 && phibin>7){
605 }
else if( imod >=16 && phibin<7){
611 }
else if (7==phibin) {
615 }
else if( imod >=16 && 0== muroad.
LargeSmall){
623 ATH_MSG_DEBUG(
"getModuleSP::Normal sector=" << mod_hashes[0] <<
" overlap sector=" << mod_hashes[1]);
◆ initialize()
StatusCode TrigL2MuonSA::CscSegmentMaker::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ make_2dseg3hit()
Definition at line 394 of file CscSegmentMaker.cxx.
403 for (
int ilyr=0; ilyr<4; ++ilyr ){
404 if( 0==hits_loc[ilyr].
size() ){
412 std::vector<localCscHit> hit_fit;
415 int hit_lyrA[4] = {1, 2, 3, 0};
416 int hit_lyrB[4] = {2, 3, 0, 1};
417 int hit_lyrC[4] = {3, 0, 1, 2};
419 for(
int lyrcomb=0; lyrcomb<4; ++lyrcomb){
421 if(0<=empty_lyr && empty_lyr!=lyrcomb)
continue;
423 for (
unsigned int ihitA=0; ihitA<hits_loc[hit_lyrA[lyrcomb]].size(); ++ihitA) {
424 for (
unsigned int ihitB=0; ihitB<hits_loc[hit_lyrB[lyrcomb]].size(); ++ihitB) {
425 for (
unsigned int ihitC=0; ihitC<hits_loc[hit_lyrC[lyrcomb]].size(); ++ihitC) {
428 hit_fit.push_back(ip_loc);
429 hit_fit.push_back(hits_loc[hit_lyrA[lyrcomb]][ihitA]);
430 hit_fit.push_back(hits_loc[hit_lyrB[lyrcomb]][ihitB]);
431 hit_fit.push_back(hits_loc[hit_lyrC[lyrcomb]][ihitC]);
434 local2dSegment seg2d_tmp;
439 seg2d_tmp.localHits.push_back(hits_loc[hit_lyrA[lyrcomb]][ihitA]);
440 seg2d_tmp.localHits.push_back(hits_loc[hit_lyrB[lyrcomb]][ihitB]);
441 seg2d_tmp.localHits.push_back(hits_loc[hit_lyrC[lyrcomb]][ihitC]);
442 seg2d_3hitCollection.push_back(seg2d_tmp);
◆ make_2dseg4hit()
Definition at line 327 of file CscSegmentMaker.cxx.
333 std::vector<localCscHit> hit_fit;
335 for (
unsigned int ihit0=0; ihit0<hits_loc[0].size(); ++ihit0) {
336 for (
unsigned int ihit1=0; ihit1<hits_loc[1].size(); ++ihit1) {
337 for (
unsigned int ihit2=0; ihit2<hits_loc[2].size(); ++ihit2) {
338 for (
unsigned int ihit3=0; ihit3<hits_loc[3].size(); ++ihit3) {
342 hit_fit.push_back(ip_loc);
343 hit_fit.push_back(hits_loc[0][ihit0]);
344 hit_fit.push_back(hits_loc[1][ihit1]);
345 hit_fit.push_back(hits_loc[2][ihit2]);
346 hit_fit.push_back(hits_loc[3][ihit3]);
349 local2dSegment seg2d_tmp;
354 seg2d_tmp.localHits.push_back(hits_loc[0][ihit0]);
355 seg2d_tmp.localHits.push_back(hits_loc[1][ihit1]);
356 seg2d_tmp.localHits.push_back(hits_loc[2][ihit2]);
357 seg2d_tmp.localHits.push_back(hits_loc[3][ihit3]);
359 hits_loc[0][ihit0].enabled=
false;
360 hits_loc[1][ihit1].enabled=
false;
361 hits_loc[2][ihit2].enabled=
false;
362 hits_loc[3][ihit3].enabled=
false;
364 seg2d_4hitCollection.push_back(seg2d_tmp);
375 std::vector<localCscHit> hit_loc_left[4];
376 for (
unsigned int ilyr=0;ilyr<4; ++ilyr){
377 for(
unsigned int ihit=0; ihit < hits_loc[ilyr].size(); ++ihit){
379 if (
true==hits_loc[ilyr][ihit].enabled ){
380 hit_loc_left[ilyr].push_back(hits_loc[ilyr][ihit]);
385 for(
int ilyr=0; ilyr<4; ++ilyr) hits_loc[ilyr]=hit_loc_left[ilyr];
◆ make_2dsegment()
Definition at line 262 of file CscSegmentMaker.cxx.
269 std::vector<int> hit_lyr;
273 for (
int i=0;
i<4; ++
i ){
274 if( 0==hits_loc[
i].
size() ) ++nohit;
277 std::vector<local2dSegment> seg2d_4hitCollection,seg2d_3hitCollection;
278 seg2d_4hitCollection.clear(); seg2d_3hitCollection.clear();
279 std::vector<localCscHit> hits_loc_copy[4];
280 for (
int i=0;
i<4;++
i) hits_loc_copy[
i] = hits_loc[
i];
291 }
else if(1==nohit) {
301 seg2d.residual=99999.;
302 for(
unsigned int iseg4=0; iseg4< seg2d_4hitCollection.size(); ++iseg4){
304 if( std::abs( seg2d_4hitCollection[iseg4].
residual ) < std::abs(seg2d.residual) ){
305 seg2d=seg2d_4hitCollection[iseg4];
310 for(
unsigned int iseg3=0; iseg3< seg2d_3hitCollection.size(); ++iseg3){
312 if( std::abs( seg2d_3hitCollection[iseg3].
residual ) < std::abs(seg2d.residual) ){
313 seg2d=seg2d_3hitCollection[iseg3];
◆ make_4dsegment()
Definition at line 534 of file CscSegmentMaker.cxx.
540 int nhit_e=seg2d_eta.nhit;
541 int nhit_p=seg2d_phi.nhit;
542 double a_eta=seg2d_eta.a;
543 double b_eta=seg2d_eta.b;
544 double a_phi=seg2d_phi.a;
545 double b_phi=seg2d_phi.b;
546 double rzshift=seg2d_eta.zshift;
547 double phizshift=seg2d_phi.zshift;
554 ATH_MSG_DEBUG(
"rzshift=" << rzshift <<
" phizshift=" << phizshift <<
" diff=" << (rzshift-phizshift)
555 <<
" angle=" << ( 0.5*
M_PI -
std::atan(a_phi) ) <<
" b_phi=" << b_phi );
558 double norm = std::sqrt( a_phi*a_phi + a_eta*a_eta + 1 );
564 << a_eta <<
" a_phi=" << a_phi <<
" chi2_eta=" << seg2d_eta.chi2 <<
" chi2_phi=" << seg2d_phi.chi2 );
566 double aver_z=0.5*(rzshift+phizshift);
◆ make_segment()
Definition at line 144 of file CscSegmentMaker.cxx.
148 ATH_MSG_DEBUG(
"################################## make_segment #####################################");
150 std::vector<localCscHit> hits_loc_eta[4], hits_loc_phi[4],emp;
152 for(
int i =0;
i<4;++
i){
175 gToLocal=translation*rotPIamg*rotYamg*rotZamg;
181 ip_loc.loc_x = ip_vec(
Amg::x);
182 ip_loc.loc_y = ip_vec(
Amg::y);
183 ip_loc.loc_z = ip_vec(
Amg::z);
186 ip_loc.residual = 0.;
188 ip_loc.enabled =
false;
189 ip_loc.stationname = 0;
191 for (
unsigned int clyr=0; clyr<8; ++clyr) {
192 for (
unsigned int ihit=0; ihit<
clusters[clyr].size(); ++ihit) {
205 loc_hit.loc_x = loc_vect(
Amg::x);
206 loc_hit.loc_y = loc_vect(
Amg::y);
207 loc_hit.loc_z = loc_vect(
Amg::z);
211 loc_hit.enabled=
true;
214 ATH_MSG_DEBUG(
"measphi=" << cschit.
MeasuresPhi <<
" wirelyr=" << cschit.
WireLayer <<
" x=" << loc_hit.loc_x <<
" y=" << loc_hit.loc_y <<
" z=" << loc_hit.loc_z <<
" err=" << loc_hit.error <<
" res=" << loc_hit.residual);
217 if(0==loc_hit.measphi) {
220 if(1==loc_hit.measphi) {
226 Amg::Vector3D seg_pos_loc, seg_dir_loc,seg_pos_loc_noip, seg_dir_loc_noip;
228 local2dSegment seg2d_eta ,seg2d_phi, seg2d_eta_noip, seg2d_phi_noip;
245 Amg::Vector3D seg_dir_noip = lToGlobal.rotation()*seg_dir_loc_noip;
249 cscsegment.set(seg_pos,seg_dir, seg2d_eta.chi2, seg2d_phi.chi2);
250 cscsegment.setNHitEta(seg2d_eta.nhit);
251 cscsegment.setNHitPhi(seg2d_phi.nhit);
252 cscsegment_noip.set(seg_pos_noip,seg_dir_noip, seg2d_eta_noip.chi2, seg2d_phi_noip.chi2);
253 cscsegment_noip.setNHitEta(seg2d_eta_noip.nhit);
254 cscsegment_noip.setNHitPhi(seg2d_phi_noip.nhit);
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ segmentAtFirstLayer()
Definition at line 631 of file CscSegmentMaker.cxx.
636 double a0=mu_seg->
px(), a1=mu_seg->
py(), a2=mu_seg->
pz();
637 double b0=mu_seg->
x(), b1=mu_seg->
y(),b2=mu_seg->
z();
638 double t = ( alpha-(
n(0)*b0+
n(1)*b1+
n(2)*b2) )/(
n(0)*
a0+
n(1)*a1+
n(2)*a2 );
643 CscSegment cscsegment;
644 cscsegment.set(x0,
x1,
x2,
a0,a1,a2,chisquare, chisquare_phi);
645 cscsegment.setNHitEta(mu_seg->
nHitEta());
646 cscsegment.setNHitPhi(mu_seg->
nHitPhi());
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_cscregdict
ToolHandle<CscRegDict> TrigL2MuonSA::CscSegmentMaker::m_cscregdict |
|
private |
Initial value:{
this, "CscRegDict", "TrigL2MuonSA::CscRegDict", ""}
Definition at line 92 of file CscSegmentMaker.h.
◆ m_detStore
◆ m_err_eta
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_err_eta |
|
private |
◆ m_err_ip
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_err_ip |
|
private |
◆ m_err_phi
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_err_phi |
|
private |
◆ m_evtStore
◆ m_idHelperSvc
◆ m_max_chisquare
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_max_chisquare |
|
private |
◆ m_max_residual_eta
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_max_residual_eta |
|
private |
Initial value:{
this, "max_residual_eta", 100., ""}
Definition at line 102 of file CscSegmentMaker.h.
◆ m_max_residual_phi
Gaudi::Property< double > TrigL2MuonSA::CscSegmentMaker::m_max_residual_phi |
|
private |
Initial value:{
this, "max_residual_phi", 250., ""}
Definition at line 104 of file CscSegmentMaker.h.
◆ m_muDetMgrKey
◆ m_use_geometry
Gaudi::Property< bool > TrigL2MuonSA::CscSegmentMaker::m_use_geometry |
|
private |
Initial value:{
this, "UseGeometry", false, ""}
Definition at line 98 of file CscSegmentMaker.h.
◆ m_util
UtilTools TrigL2MuonSA::CscSegmentMaker::m_util |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ReturnCode make_2dseg4hit(int measphi, const localCscHit &ip_loc, std::vector< localCscHit > hits_loc[4], std::vector< local2dSegment > &seg2d_4hitCollection, int &nhite) const
ReturnCode make_2dseg3hit(int measphi, const localCscHit &ip_loc, const std::vector< localCscHit > hits_loc[4], std::vector< local2dSegment > &seg2d_4hitCollection, int &nhit) const
Chamber
Define chamber types and locations.
ReturnCode make_4dsegment(const local2dSegment &seg2d_eta, const local2dSegment &seg2d_phi, Amg::Vector3D &seg_pos, Amg::Vector3D &seg_dir) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ReturnCode fit_clusters(int measphi, const std::vector< localCscHit > &hits_fit, local2dSegment &seg2d) const
Gaudi::Property< double > m_err_eta
Gaudi::Property< double > m_max_chisquare
virtual Amg::Transform3D GlobalToAmdbLRSTransform() const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
std::vector< CscHitData > CscHits
virtual void setOwner(IDataHandleHolder *o)=0
Gaudi::Property< double > m_max_residual_phi
ReturnCode getModuleSP(int mod_hash[2], const TrigL2MuonSA::TgcFitResult &tgcFitResult, int phibin, const TrigL2MuonSA::MuonRoad &muroad, const int exist_clusters[32]) const
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Gaudi::Property< bool > m_use_geometry
Eigen::Affine3d Transform3D
Gaudi::Property< double > m_max_residual_eta
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Gaudi::Property< double > m_err_phi
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ReturnCode make_segment(int mod_hash, TrigL2MuonSA::CscHits clusters[8], CscSegment &cscsegment, CscSegment &cscsegment_noip, const MuonGM::MuonDetectorManager *muDetMgr) const
ToolHandle< CscRegDict > m_cscregdict
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
ReturnCode display_hits(const std::vector< localCscHit > localHits[4]) const
ReturnCode make_2dsegment(int measphi, const localCscHit &ip_loc, const std::vector< localCscHit > hits_loc[4], local2dSegment &seg2d_eta, local2dSegment &local2d_noip, int &nhite) const
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Eigen::Translation< double, 3 > Translation3D
CscSegment segmentAtFirstLayer(int mod_hash, TrigL2MuonSA::CscSegment *mu_seg) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Eigen::AngleAxisd AngleAxis3D
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ EndcapOuter
Outer station in the endcap spectrometer.
Gaudi::Property< double > m_err_ip