CMS 3D CMS Logo

LaserLayerPairs.cc

Go to the documentation of this file.
00001 
00009 #include "Alignment/LaserAlignment/interface/LaserLayerPairs.h"
00010 #include "RecoTracker/TkHitPairs/interface/LayerWithHits.h" 
00011 #include "RecoTracker/TkDetLayers/interface/TECLayer.h"  
00012 
00013 #include "FWCore/Framework/interface/ESHandle.h"
00014 
00015 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00016 #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h"
00017 
00018 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00019 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00020 
00021 
00022 std::vector<SeedLayerPairs::LayerPair> LaserLayerPairs::operator()()
00023 {
00024   std::vector<LayerPair> result;
00025 
00026   // seeds from TEC+
00027   result.push_back( LayerPair(lh1pos, lh2pos) );
00028   result.push_back( LayerPair(lh1pos, lh3pos) );
00029   result.push_back( LayerPair(lh1pos, lh4pos) );
00030   result.push_back( LayerPair(lh1pos, lh5pos) );
00031 
00032   result.push_back( LayerPair(lh2pos, lh3pos) );
00033   result.push_back( LayerPair(lh2pos, lh4pos) );
00034   result.push_back( LayerPair(lh2pos, lh5pos) );
00035 
00036   result.push_back( LayerPair(lh3pos, lh4pos) );
00037   result.push_back( LayerPair(lh3pos, lh5pos) );
00038 
00039   result.push_back( LayerPair(lh4pos, lh5pos) );
00040 
00041   result.push_back( LayerPair(lh6pos, lh7pos) );
00042   result.push_back( LayerPair(lh6pos, lh8pos) );
00043   result.push_back( LayerPair(lh6pos, lh9pos) );
00044   
00045   result.push_back( LayerPair(lh7pos, lh8pos) );
00046   result.push_back( LayerPair(lh7pos, lh9pos) );
00047   
00048   result.push_back( LayerPair(lh8pos, lh9pos) );
00049 
00050   // seeds from TEC-
00051   result.push_back( LayerPair(lh1neg, lh2neg) );
00052   result.push_back( LayerPair(lh1neg, lh3neg) );
00053   result.push_back( LayerPair(lh1neg, lh4neg) );
00054   result.push_back( LayerPair(lh1neg, lh5neg) );
00055 
00056   result.push_back( LayerPair(lh2neg, lh3neg) );
00057   result.push_back( LayerPair(lh2neg, lh4neg) );
00058   result.push_back( LayerPair(lh2neg, lh5neg) );
00059 
00060   result.push_back( LayerPair(lh3neg, lh4neg) );
00061   result.push_back( LayerPair(lh3neg, lh5neg) );
00062 
00063   result.push_back( LayerPair(lh4neg, lh5neg) );
00064 
00065   result.push_back( LayerPair(lh6neg, lh7neg) );
00066   result.push_back( LayerPair(lh6neg, lh8neg) );
00067   result.push_back( LayerPair(lh6neg, lh9neg) );
00068   
00069   result.push_back( LayerPair(lh7neg, lh8neg) );
00070   result.push_back( LayerPair(lh7neg, lh9neg) );
00071   
00072   result.push_back( LayerPair(lh8neg, lh9neg) );
00073 
00074   return result;
00075 }
00076 
00077 void LaserLayerPairs::init(const SiStripRecHit2DCollection & collstereo,
00078                            const SiStripRecHit2DCollection & collrphi,
00079                            const SiStripMatchedRecHit2DCollection & collmatched,
00080                            const edm::EventSetup & iSetup)
00081 {
00082   edm::ESHandle<GeometricSearchTracker> track;
00083   iSetup.get<TrackerRecoGeometryRecord>().get(track);
00084 
00085   // get the discs in TEC+
00086   fpos = track->posTecLayers();
00087   // get the discs in TEC-
00088   fneg = track->negTecLayers();
00089 
00090   edm::ESHandle<TrackerGeometry> tracker;
00091   iSetup.get<TrackerDigiGeometryRecord>().get(tracker);
00092 
00093   // side = 1 for backward, 2 for forward TEC
00094   rphi_pos_range1 = collrphi.get(acc.stripTECDisk(2,1)); // disc 1
00095   rphi_pos_range2 = collrphi.get(acc.stripTECDisk(2,2)); // disc 2
00096   rphi_pos_range3 = collrphi.get(acc.stripTECDisk(2,3)); // disc 3
00097   rphi_pos_range4 = collrphi.get(acc.stripTECDisk(2,4)); // disc 4
00098   rphi_pos_range5 = collrphi.get(acc.stripTECDisk(2,5)); // disc 5
00099   rphi_pos_range6 = collrphi.get(acc.stripTECDisk(2,6)); // disc 6
00100   rphi_pos_range7 = collrphi.get(acc.stripTECDisk(2,7)); // disc 7
00101   rphi_pos_range8 = collrphi.get(acc.stripTECDisk(2,8)); // disc 8
00102   rphi_pos_range9 = collrphi.get(acc.stripTECDisk(2,9)); // disc 9
00103 
00104   rphi_neg_range1 = collrphi.get(acc.stripTECDisk(1,1)); // disc 1
00105   rphi_neg_range2 = collrphi.get(acc.stripTECDisk(1,2)); // disc 2
00106   rphi_neg_range3 = collrphi.get(acc.stripTECDisk(1,3)); // disc 3
00107   rphi_neg_range4 = collrphi.get(acc.stripTECDisk(1,4)); // disc 4
00108   rphi_neg_range5 = collrphi.get(acc.stripTECDisk(1,5)); // disc 5
00109   rphi_neg_range6 = collrphi.get(acc.stripTECDisk(1,6)); // disc 6
00110   rphi_neg_range7 = collrphi.get(acc.stripTECDisk(1,7)); // disc 7
00111   rphi_neg_range8 = collrphi.get(acc.stripTECDisk(1,8)); // disc 8
00112   rphi_neg_range9 = collrphi.get(acc.stripTECDisk(1,9)); // disc 9
00113 
00114   // get the discs
00115   const TECLayer * fposl1 = dynamic_cast<TECLayer*>(fpos[0]);
00116   const TECLayer * fposl2 = dynamic_cast<TECLayer*>(fpos[1]);
00117   const TECLayer * fposl3 = dynamic_cast<TECLayer*>(fpos[2]);
00118   const TECLayer * fposl4 = dynamic_cast<TECLayer*>(fpos[3]);
00119   const TECLayer * fposl5 = dynamic_cast<TECLayer*>(fpos[4]);
00120   const TECLayer * fposl6 = dynamic_cast<TECLayer*>(fpos[5]);
00121   const TECLayer * fposl7 = dynamic_cast<TECLayer*>(fpos[6]);
00122   const TECLayer * fposl8 = dynamic_cast<TECLayer*>(fpos[7]);
00123   const TECLayer * fposl9 = dynamic_cast<TECLayer*>(fpos[8]);
00124 
00125   const TECLayer * fnegl1 = dynamic_cast<TECLayer*>(fneg[0]);
00126   const TECLayer * fnegl2 = dynamic_cast<TECLayer*>(fneg[1]);
00127   const TECLayer * fnegl3 = dynamic_cast<TECLayer*>(fneg[2]);
00128   const TECLayer * fnegl4 = dynamic_cast<TECLayer*>(fneg[3]);
00129   const TECLayer * fnegl5 = dynamic_cast<TECLayer*>(fneg[4]);
00130   const TECLayer * fnegl6 = dynamic_cast<TECLayer*>(fneg[5]);
00131   const TECLayer * fnegl7 = dynamic_cast<TECLayer*>(fneg[6]);
00132   const TECLayer * fnegl8 = dynamic_cast<TECLayer*>(fneg[7]);
00133   const TECLayer * fnegl9 = dynamic_cast<TECLayer*>(fneg[8]);
00134 
00135   // Layers with hits
00136   lh1pos = new LayerWithHits(fposl1, rphi_pos_range1);
00137   lh2pos = new LayerWithHits(fposl2, rphi_pos_range2);
00138   lh3pos = new LayerWithHits(fposl3, rphi_pos_range3);
00139   lh4pos = new LayerWithHits(fposl4, rphi_pos_range4);
00140   lh5pos = new LayerWithHits(fposl5, rphi_pos_range5);
00141   lh6pos = new LayerWithHits(fposl6, rphi_pos_range6);
00142   lh7pos = new LayerWithHits(fposl7, rphi_pos_range7);
00143   lh8pos = new LayerWithHits(fposl8, rphi_pos_range8);
00144   lh9pos = new LayerWithHits(fposl9, rphi_pos_range9);
00145 
00146   lh1neg = new LayerWithHits(fnegl1, rphi_neg_range1);
00147   lh2neg = new LayerWithHits(fnegl2, rphi_neg_range2);
00148   lh3neg = new LayerWithHits(fnegl3, rphi_neg_range3);
00149   lh4neg = new LayerWithHits(fnegl4, rphi_neg_range4);
00150   lh5neg = new LayerWithHits(fnegl5, rphi_neg_range5);
00151   lh6neg = new LayerWithHits(fnegl6, rphi_neg_range6);
00152   lh7neg = new LayerWithHits(fnegl7, rphi_neg_range7);
00153   lh8neg = new LayerWithHits(fnegl8, rphi_neg_range8);
00154   lh9neg = new LayerWithHits(fnegl9, rphi_neg_range9);
00155 }

Generated on Tue Jun 9 17:24:09 2009 for CMSSW by  doxygen 1.5.4