 |
ATLAS Offline Software
|
Go to the documentation of this file.
41 m_NumberOfWireHighPtBoard(0),
42 m_SSCController(tgcargs,this),
43 m_matrix(tgcargs,this),
45 m_trackSelector(this),
47 m_wordInnerStation(0),
48 m_stripHighPtBoard(0),
49 m_stripHighPtChipOut(0),
111 m_nsw = std::move(nsw);
156 if(SSCCOut->
hasHit(SSCid)){
161 if(SSCCOut->
hasHit(SSCid, phiposInSSC)){
163 SSCCOut->
getDPhi(SSCid,phiposInSSC),
164 SSCCOut->
getPtPhi(SSCid,phiposInSSC));
170 if(SSCCOut->
hasHit(SSCid,
true)){
175 if(SSCCOut->
hasHit(SSCid, phiposInSSC,
true)){
177 SSCCOut->
getDPhi(SSCid,phiposInSSC,
true),
178 SSCCOut->
getPtPhi(SSCid,phiposInSSC,
true));
183 if (oredCoincidenceOut) {
185 if (coincidenceOut->
isSuperior(oredCoincidenceOut)) {
186 delete oredCoincidenceOut;
188 delete coincidenceOut;
189 coincidenceOut = oredCoincidenceOut;
192 coincidenceOut = oredCoincidenceOut;
197 if (coincidenceOut) {
208 if (coincidenceOut) {
212 if(SSCCOut!=0)
delete SSCCOut;
245 std::cout<<
"#SL O"<<
" BID:"<<
m_bid
247 <<
" SLid:"<<
m_id<<
" ";
252 : m_bid(right.m_bid), m_id(right.m_id),
253 m_sideId(right.m_sideId),
254 m_sectorId(right.m_sectorId), m_moduleId(right.m_moduleId),
255 m_octantId(right.m_octantId),
256 m_region(right.m_region),
257 m_NumberOfWireHighPtBoard(right.m_NumberOfWireHighPtBoard),
258 m_useEIFI(right.m_useEIFI), m_useTileMu(right.m_useTileMu),
259 m_useGoodMF(right.m_useGoodMF), m_nswSide(right.m_nswSide),
260 m_SSCController(right.tgcArgs(),this),
261 m_matrix(right.tgcArgs(),this),
262 m_mapEIFI(right.m_mapEIFI),
263 m_pTMDB(right.m_pTMDB),
264 m_wordTileMuon(0), m_wordInnerStation(0),
265 m_stripHighPtBoard(right.m_stripHighPtBoard),
266 m_stripHighPtChipOut(0),
267 m_tgcArgs(right.m_tgcArgs)
287 if (
this != &right ) {
338 if (coincidenceOut == 0)
return;
340 int pt = coincidenceOut->
getpT();
352 int pos = 4*coincidenceOut->
getR() + coincidenceOut->
getPhi();
357 bool validBIS78 =
false;
370 int pos = 4*coincidenceOut->
getR() + coincidenceOut->
getPhi();
403 std::shared_ptr<const LVL1TGC::BIS78TrigOut> pBIS78Out =
m_bis78->getOutput(
m_sectorId);
404 if ( pBIS78Out.get() == 0 )
return false;
408 coincidenceOut->
getRoI());
420 bool isHitTileMu=
false;
433 bool isHitInner=
false;
440 bool isHitWire =
false;
444 if(isHitWire){
break;}
448 bool isHitStrip =
false;
452 if(isHitStrip){
break;}
455 isHitInner = isHitWire && isHitStrip;
TGCSSCControllerOut * distribute(TGCHighPtChipOut *wire[], TGCHighPtChipOut *strip)
int getPtPhi(int ssc, int phipos, bool ored=false) const
const TGCInnerTrackletSlot * m_innerTrackletSlots[TGCInnerTrackletSlotHolder::NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR]
void inputR(int rIn, int dRIn, int ptRIn)
bool select(std::shared_ptr< TGCTrackSelectorOut > TrackcandidateOut)
bool hasHit(int ssc, bool ored=false) const
@ NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
std::shared_ptr< const TGCNSWCoincidenceMap > m_mapNSW
std::shared_ptr< const LVL1TGC::TGCNSW > m_nsw
int getPtR(int ssc) const
std::shared_ptr< TGCTrackSelectorOut > m_trackSelectorOut
int m_NumberOfWireHighPtBoard
void setInnerTrackletSlots(const TGCInnerTrackletSlot *innerTrackletSlots[])
void setBIS78(std::shared_ptr< const LVL1TGC::TGCBIS78 > bis78)
void doInnerCoincidence(const SG::ReadCondHandleKey< TGCTriggerData > &readCondKey, int SSCId, TGCRPhiCoincidenceOut *coincidenceOut)
TGCSectorLogic & operator=(const TGCSectorLogic &right)
std::shared_ptr< const LVL1TGC::TGCBIS78 > m_bis78
LVL1TGC::TGCSide m_sideId
void setNSW(std::shared_ptr< const LVL1TGC::TGCNSW > nsw)
bool doTILECoincidence(TGCRPhiCoincidenceOut *coincidenceOut)
TGCSSCController m_SSCController
bool doTGCBIS78Coincidence(TGCRPhiCoincidenceOut *coincidenceOut)
TGCHighPtBoard * m_stripHighPtBoard
TGCSectorLogic(TGCArguments *, const TGCDatabaseManager *db, TGCRegionType regionIn, int id)
void setGoodMFFlag(bool goodMFFlagIn)
TGCRPhiCoincidenceMatrix m_matrix
virtual ~TGCSectorLogic()
const std::vector< uint8_t > & getNSWeta() const
void set_USE_BIS78(bool v)
bool isSuperior(const TGCRPhiCoincidenceOut *right) const
bool getTriggerBit(const unsigned int region, const unsigned int readout, const unsigned int iBit) const
bool FORCE_NSW_COIN() const
void input(TGCRPhiCoincidenceOut *rPhiOut)
void setTMDB(std::shared_ptr< const LVL1TGC::TGCTMDB > tmdb)
TGCRPhiCoincidenceOut * doCoincidence()
std::shared_ptr< const LVL1TGC::TGCTileMuCoincidenceLUT > m_tileMuLUT
const std::string & NSWSideInfo() const
int getNumberOfWireHighPtBoard()
void setWireHighPtBoard(int port, TGCHighPtBoard *highPtBoard)
std::shared_ptr< const LVL1TGC::TGCGoodMF > m_mapGoodMF
TGCHighPtBoard * m_wireHighPtBoard[MaxNumberOfWireHighPtBoard]
bool hitTileMu(const uint8_t &mask, const uint8_t &hit6, const uint8_t &hit56) const
int getDPhi(int ssc, int phipos, bool ored=false) const
int getFlagROI(const unsigned int roi, const unsigned int ssc, const unsigned int sec) const
bool doTGCEICoincidence(TGCRPhiCoincidenceOut *coincidenceOut)
TileModuleHit getHit56() const
TileModuleHit getHit6() const
void setSideId(int sideIdIn)
void clockIn(const SG::ReadCondHandleKey< TGCTriggerData > &readCondKey, int bidIn, bool process=true)
void doTGCNSWCoincidence(TGCRPhiCoincidenceOut *coincidenceOut)
int getNumberOfSubSectorCluster() const
int getTriggerBit(const int slot, const int ssc, const int sec, const int reg, const int read, const int bit) const
void inputPhi(int phiIn, int dPhiIn, int ptPhiIn)
void setInnerCoincidenceFlag(bool InnerCoincidenceFlagIn)
@ MaxNumberOfWireHighPtBoard
std::shared_ptr< const LVL1TGC::TGCBIS78CoincidenceMap > m_mapBIS78
bool doTGCFICoincidence(TGCRPhiCoincidenceOut *coincidenceOut)
void setCoincidenceLUT(std::shared_ptr< const LVL1TGC::BigWheelCoincidenceLUT > lut)
const LVL1TGC::TGCEIFICoincidenceMap * m_mapEIFI
TGCHighPtChipOut * m_wireHighPtChipOut[MaxNumberOfWireHighPtBoard]
void setStripHighPtBoard(TGCHighPtBoard *highPtBoard)
void dec2bin(int dec, char *binstr, int length)
TGCSide
The sides of TGC (A- or C-side)
void getTrackSelectorOutput(std::shared_ptr< TGCTrackSelectorOut > &trackSelectorOut) const
int getPhi(int ssc, int phipos, bool ored=false) const
TGCHighPtChipOut * getOutput()
void setRegion(TGCRegionType regionIn)
void setSSCId(int SSCIdIn)
TGCTrackSelector m_trackSelector
std::shared_ptr< const LVL1TGC::TGCTMDB > m_pTMDB
TGCHighPtChipOut * m_stripHighPtChipOut