17 init(theGeometry, tTopo);
33 init(theGeometry,tTopo);
82 std::cout <<
"layerList.size() = " << layerList.size() << std::endl;
89 for (
unsigned i=0;
i<layerList.size();
i++) {
91 std::cout <<
"------- Name = " << name << std::endl;
96 if (name.substr(0,4) ==
"BPix") {
98 idLayer = atoi(name.substr(4,1).c_str());
104 else if (name.substr(0,4) ==
"FPix") {
106 idLayer = atoi(name.substr(4,1).c_str());
107 if ( name.find(
"pos") != std::string::npos ) {
116 else if (name.substr(0,3) ==
"TIB") {
118 idLayer = atoi(name.substr(3,1).c_str());
124 else if (name.substr(0,3) ==
"TID") {
126 idLayer = atoi(name.substr(3,1).c_str());
127 if ( name.find(
"pos") !=std::string::npos ) {
136 else if (name.substr(0,3) ==
"TOB") {
138 idLayer = atoi(name.substr(3,1).c_str());
144 else if (name.substr(0,3) ==
"TEC") {
146 idLayer = atoi(name.substr(3,1).c_str());
147 if ( name.find(
"pos") != std::string::npos ) {
154 std::cout <<
"subdet = " << subdet << std::endl;
155 std::cout <<
"idLayer = " << idLayer << std::endl;
156 std::cout <<
"side = " << side << std::endl;
171 bool isOnDet =
false;
173 for (
unsigned idet=0; idet<whichDet.size(); ++idet ) {
175 switch ( whichDet[idet] ) {
199 if(seedingAlgo ==
"TobTecLayerPairs"){
208 if(seedingAlgo ==
"PixelLessPairs"){
210 }
else if (seedingAlgo ==
"TobTecLayerPairs"){
213 }
else if (seedingAlgo ==
"MixedTriplets"){
218 std::cout <<
"DEBUG - this should never happen" << std::endl;
230 if ( isOnDet )
break;
240 bool isAProperPair =
false;
242 unsigned int anotherSubDetId = anotherHit.
subDetId();
243 unsigned int anotherLayerNumber = anotherHit.
layerNumber();
247 ( anotherSubDetId == 1 && anotherLayerNumber == 2) ||
248 ( anotherSubDetId == 1 && anotherLayerNumber == 3) ||
249 ( anotherSubDetId == 2 && anotherLayerNumber == 1) ||
250 ( anotherSubDetId == 2 && anotherLayerNumber == 2) ) ) ||
253 ( anotherSubDetId == 1 && anotherLayerNumber == 3) ||
254 ( anotherSubDetId == 2 && anotherLayerNumber == 1) ||
255 ( anotherSubDetId == 2 && anotherLayerNumber == 2) ) ) ||
258 ( anotherSubDetId == 2 && anotherLayerNumber == 2 ) ) ||
261 ( anotherSubDetId == 6 && anotherLayerNumber == 1 ) ||
262 ( anotherSubDetId == 6 && anotherLayerNumber == 2 ) ) ) ||
265 ( anotherSubDetId == 6 && anotherLayerNumber == 2 ) ) ||
268 ( anotherSubDetId == 6 && anotherLayerNumber == 3 ) ) ||
273 (( anotherSubDetId == 3 && anotherLayerNumber == 2 ) ||
274 ( anotherSubDetId == 4 && anotherLayerNumber == 1 )) ) ||
277 ( anotherSubDetId == 4 && anotherLayerNumber == 2 ) ) ||
280 ( anotherSubDetId == 4 && anotherLayerNumber == 3 ) ) ||
283 ( anotherSubDetId == 6 && anotherLayerNumber == 1 ) ) ||
286 ( ( anotherSubDetId == 6 && anotherLayerNumber == 4 ) ||
287 ( anotherSubDetId == 6 && anotherLayerNumber == 5 )) ) ||
290 ( anotherSubDetId == 6 && anotherLayerNumber == 5 ) ) ||
295 (( anotherSubDetId == 5 && anotherLayerNumber == 2 ) ||
296 ( anotherSubDetId == 6 && anotherLayerNumber == 1 )) ) ||
299 ( anotherSubDetId == 6 && anotherLayerNumber == 2 ) ) ||
302 ( anotherSubDetId == 6 && anotherLayerNumber == 3 ) ) ||
305 ( anotherSubDetId == 6 && anotherLayerNumber == 4 ) ) ||
309 ( anotherSubDetId == 6 && anotherLayerNumber == 5 ) ) ||
312 ( anotherSubDetId == 6 && anotherLayerNumber == 6 ) ) ||
315 ( anotherSubDetId == 6 && anotherLayerNumber == 7 ) ) ;
317 return isAProperPair;
324 bool isAProperPair =
false;
326 unsigned int anotherSubDetId = anotherHit.
subDetId();
327 unsigned int anotherLayerNumber = anotherHit.
layerNumber();
331 ( anotherSubDetId == 1 && anotherLayerNumber == 2) ||
332 ( anotherSubDetId == 2 && anotherLayerNumber == 1) ) ) ||
335 ( anotherSubDetId == 1 && anotherLayerNumber == 3) ) ||
338 ( anotherSubDetId == 2 && anotherLayerNumber == 2) ) ||
341 ( anotherSubDetId == 6 && anotherLayerNumber == 2 ) );
343 return isAProperPair;
351 bool isAProperTriplet =
false;
353 unsigned int anotherSubDetId = anotherHit.
subDetId();
354 unsigned int anotherLayerNumber = anotherHit.
layerNumber();
355 unsigned int yetAnotherSubDetId = yetAnotherHit.
subDetId();
356 unsigned int yetAnotherLayerNumber = yetAnotherHit.
layerNumber();
360 ( anotherSubDetId == 1 && anotherLayerNumber == 2) && (
361 ( yetAnotherSubDetId == 1 && yetAnotherLayerNumber == 3) ||
362 ( yetAnotherSubDetId == 2 && yetAnotherLayerNumber == 1) ||
363 ( yetAnotherSubDetId == 3 && yetAnotherLayerNumber == 1) ) ) ||
366 ( anotherSubDetId == 1 && anotherLayerNumber == 3) &&
367 ( yetAnotherSubDetId == 3 && yetAnotherLayerNumber == 1) ) ||
370 ( anotherSubDetId == 1 && anotherLayerNumber == 3) &&
371 ( yetAnotherSubDetId == 3 && yetAnotherLayerNumber == 1) ) ||
374 ( anotherSubDetId == 2 && anotherLayerNumber == 1) && (
375 ( yetAnotherSubDetId == 2 && yetAnotherLayerNumber == 2) ||
376 ( yetAnotherSubDetId == 4 && yetAnotherLayerNumber == 1) ||
377 ( yetAnotherSubDetId == 4 && yetAnotherLayerNumber == 2) ) ) ||
380 ( anotherSubDetId == 2 && anotherLayerNumber == 2 ) && (
381 ( yetAnotherSubDetId == 6 && yetAnotherLayerNumber == 1 ) ||
382 ( yetAnotherSubDetId == 6 && yetAnotherLayerNumber == 2 ) ) ) ||
385 ( anotherSubDetId == 3 && anotherLayerNumber == 2 ) &&
386 ( yetAnotherSubDetId == 3 && yetAnotherLayerNumber == 3 ) );
388 return isAProperTriplet;
unsigned int theLayerNumber
unsigned int tibLayer(const DetId &id) const
unsigned int tidRing(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
unsigned int tidWheel(const DetId &id) const
unsigned int theCylinderNumber
TrackerRecHit()
Default Constructor.
unsigned int theRingNumber
bool makesATripletWith(const TrackerRecHit &anotherHit, const TrackerRecHit &yetAnotherHit) const
Check if a triplet is on the proper combination of detectors.
void init(const TrackerGeometry *theGeometry, const TrackerTopology *tTopo)
Initialization at construction time.
const GeomDet * theGeomDet
bool makesAPairWith3rd(const TrackerRecHit &anotherHit) const
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual const GeomDet * idToDet(DetId) const
unsigned int pxbLayer(const DetId &id) const
unsigned int layerNumber() const
The Layer Number.
const GSSiTrackerRecHit2DLocalPos * hit() const
bool makesAPairWith(const TrackerRecHit &anotherHit) const
Check if a pair is on the proper combination of detectors.
bool isOnRequestedDet(const std::vector< unsigned int > &whichDet, const std::string &seedingAlgo) const
Check if the hit is on one of the requested detector.
unsigned int subDetId() const
The subdet Id.
DetId geographicalId() const
unsigned int tecWheel(const DetId &id) const
unsigned int tobLayer(const DetId &id) const