Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:55

0001 #ifndef __STUBKILLER_H__
0002 #define __STUBKILLER_H__
0003 
0004 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0005 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0006 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0007 #include "Geometry/CommonTopologies/interface/PixelGeomDetUnit.h"
0008 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
0009 #include "TRandom3.h"
0010 #include "TMath.h"
0011 
0012 class StubKiller {
0013 public:
0014   StubKiller();
0015   ~StubKiller() {}
0016 
0017   void initialise(unsigned int killScenario,
0018                   const TrackerTopology* trackerTopology,
0019                   const TrackerGeometry* trackerGeometry);
0020 
0021   bool killStub(const TTStub<Ref_Phase2TrackerDigi_>* stub,
0022                 const std::vector<int> layersToKill,
0023                 const double minPhiToKill,
0024                 const double maxPhiToKill,
0025                 const double minZToKill,
0026                 const double maxZToKill,
0027                 const double minRToKill,
0028                 const double maxRToKill,
0029                 const double fractionOfStubsToKillInLayers,
0030                 const double fractionOfStubsToKillEverywhere);
0031 
0032   bool killStub(const TTStub<Ref_Phase2TrackerDigi_>* stub);
0033 
0034   bool killStubInDeadModule(const TTStub<Ref_Phase2TrackerDigi_>* stub);
0035 
0036   std::map<DetId, float> getListOfDeadModules() { return deadModules_; }
0037 
0038 private:
0039   void chooseModulesToKill();
0040   void addDeadLayerModulesToDeadModuleList();
0041 
0042   unsigned int killScenario_;
0043   const TrackerTopology* trackerTopology_;
0044   const TrackerGeometry* trackerGeometry_;
0045 
0046   std::vector<int> layersToKill_;
0047   double minPhiToKill_;
0048   double maxPhiToKill_;
0049   double minZToKill_;
0050   double maxZToKill_;
0051   double minRToKill_;
0052   double maxRToKill_;
0053   double fractionOfStubsToKillInLayers_;
0054   double fractionOfStubsToKillEverywhere_;
0055   double fractionOfModulesToKillEverywhere_;
0056 
0057   std::map<DetId, float> deadModules_;
0058 };
0059 
0060 #endif