CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
SiStripTrackingRecHitsValid Class Reference

#include <SiStripTrackingRecHitsValid.h>

Inheritance diagram for SiStripTrackingRecHitsValid:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  LayerMEs
 
struct  RecHitProperties
 
struct  SimpleHitsMEs
 
struct  StereoAndMatchedMEs
 

Public Member Functions

 SiStripTrackingRecHitsValid (const edm::ParameterSet &conf)
 
 ~SiStripTrackingRecHitsValid () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void beginRun (edm::Run const &, edm::EventSetup const &) final
 
void beginStream (edm::StreamID id) final
 
virtual void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &)=0
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void beginJob (const edm::EventSetup &es)
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override
 
void endJob ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Protected Attributes

const MagneticFieldmagfield2_
 

Private Types

enum  MatchStatus { MatchStatus::matched, MatchStatus::monoHit, MatchStatus::stereoHit }
 

Private Member Functions

MonitorElementbookME1D (DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
 
MonitorElementbookMEProfile (DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
 
void createLayerMEs (DQMStore::IBooker &ibooker, std::string label)
 
void createMEs (DQMStore::IBooker &ibooker, const edm::EventSetup &es)
 
void createSimpleHitsMEs (DQMStore::IBooker &ibooker)
 
void createStereoAndMatchedMEs (DQMStore::IBooker &ibooker, std::string label)
 
LocalVector driftDirection (const StripGeomDetUnit *det) const
 
void fillME (MonitorElement *ME, float value1)
 
void fillME (MonitorElement *ME, float value1, float value2)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3, float value4)
 
MonitorElementFit_SliceY (TH2F *Histo2D)
 
std::pair< LocalPoint, LocalVectorprojectHit (const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
 
void rechitanalysis (LocalVector ldir, const TrackingRecHit *rechit, const StripGeomDetUnit *stripdet, edm::ESHandle< StripClusterParameterEstimator > stripcpe, TrackerHitAssociator &associate, bool simplehit1or2D)
 
void rechitanalysis_matched (LocalVector ldir, const TrackingRecHit *rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate, edm::ESHandle< StripClusterParameterEstimator > stripcpe, const MatchStatus matchedmonorstereo)
 

Private Attributes

edm::ParameterSet conf_
 
DQMStoredbe_
 
std::map< std::string, std::vector< uint32_t > > LayerDetMap
 
std::map< std::string, LayerMEsLayerMEsMap
 
bool layerswitchAdcRphi
 
bool layerswitchAdcSas
 
bool layerswitchCategory
 
bool layerswitchCategoryRphi
 
bool layerswitchCategorySas
 
bool layerswitchClusterwidth
 
bool layerswitchClusterwidthRphi
 
bool layerswitchClusterwidthSas
 
bool layerswitchExpectedwidth
 
bool layerswitchExpectedwidthRphi
 
bool layerswitchExpectedwidthSas
 
bool layerswitchPosxMatched
 
bool layerswitchPosyMatched
 
bool layerswitchPull_LF
 
bool layerswitchPull_MF
 
bool layerswitchPullLFRphi
 
bool layerswitchPullLFSas
 
bool layerswitchPullMFRphi
 
bool layerswitchPullMFRphiwclus1
 
bool layerswitchPullMFRphiwclus2
 
bool layerswitchPullMFRphiwclus3
 
bool layerswitchPullMFRphiwclus4
 
bool layerswitchPullMFSas
 
bool layerswitchPullTrackangle2DRphi
 
bool layerswitchPullTrackangleProfileRphi
 
bool layerswitchPullTrackangleProfileSas
 
bool layerswitchPullTrackwidthProfileCategory1Rphi
 
bool layerswitchPullTrackwidthProfileCategory1Sas
 
bool layerswitchPullTrackwidthProfileCategory2Rphi
 
bool layerswitchPullTrackwidthProfileCategory2Sas
 
bool layerswitchPullTrackwidthProfileCategory3Rphi
 
bool layerswitchPullTrackwidthProfileCategory3Sas
 
bool layerswitchPullTrackwidthProfileCategory4Rphi
 
bool layerswitchPullTrackwidthProfileCategory4Sas
 
bool layerswitchPullTrackwidthProfileRphi
 
bool layerswitchPullTrackwidthProfileRphiwclus1
 
bool layerswitchPullTrackwidthProfileRphiwclus2
 
bool layerswitchPullTrackwidthProfileRphiwclus3
 
bool layerswitchPullTrackwidthProfileRphiwclus4
 
bool layerswitchPullTrackwidthProfileSas
 
bool layerswitchPullxMatched
 
bool layerswitchPullyMatched
 
bool layerswitchrapidityResProfilewclus1
 
bool layerswitchrapidityResProfilewclus2
 
bool layerswitchrapidityResProfilewclus3
 
bool layerswitchrapidityResProfilewclus4
 
bool layerswitchRes_LF
 
bool layerswitchRes_MF
 
bool layerswitchResLFRphi
 
bool layerswitchResLFSas
 
bool layerswitchResMFRphi
 
bool layerswitchResMFRphiwclus1
 
bool layerswitchResMFRphiwclus2
 
bool layerswitchResMFRphiwclus3
 
bool layerswitchResMFRphiwclus4
 
bool layerswitchResMFSas
 
bool layerswitchResMFTrackwidthProfile_WClus1
 
bool layerswitchResMFTrackwidthProfile_WClus2
 
bool layerswitchResMFTrackwidthProfile_WClus21
 
bool layerswitchResMFTrackwidthProfile_WClus22
 
bool layerswitchResMFTrackwidthProfile_WClus23
 
bool layerswitchResMFTrackwidthProfile_WClus3
 
bool layerswitchResMFTrackwidthProfile_WClus4
 
bool layerswitchResMFTrackwidthProfileWclus1Rphi
 
bool layerswitchResMFTrackwidthProfileWclus2Rphi
 
bool layerswitchResMFTrackwidthProfileWclus3Rphi
 
bool layerswitchResMFTrackwidthProfileWclus4Rphi
 
bool layerswitchResolx_LF
 
bool layerswitchResolx_MF
 
bool layerswitchResolxLFRphi
 
bool layerswitchResolxLFSas
 
bool layerswitchResolxMatched
 
bool layerswitchResolxMFAngleProfile
 
bool layerswitchResolxMFAngleProfileRphi
 
bool layerswitchResolxMFAngleProfileSas
 
bool layerswitchResolxMFClusterwidthProfile_Category1
 
bool layerswitchResolxMFClusterwidthProfileCategory1Rphi
 
bool layerswitchResolxMFClusterwidthProfileCategory1Sas
 
bool layerswitchResolxMFRphi
 
bool layerswitchResolxMFRphiwclus1
 
bool layerswitchResolxMFRphiwclus2
 
bool layerswitchResolxMFRphiwclus3
 
bool layerswitchResolxMFRphiwclus4
 
bool layerswitchResolxMFSas
 
bool layerswitchResolxMFTrackwidthProfile
 
bool layerswitchResolxMFTrackwidthProfile_Category1
 
bool layerswitchResolxMFTrackwidthProfile_Category2
 
bool layerswitchResolxMFTrackwidthProfile_Category3
 
bool layerswitchResolxMFTrackwidthProfile_Category4
 
bool layerswitchResolxMFTrackwidthProfile_WClus1
 
bool layerswitchResolxMFTrackwidthProfile_WClus2
 
bool layerswitchResolxMFTrackwidthProfile_WClus3
 
bool layerswitchResolxMFTrackwidthProfile_WClus4
 
bool layerswitchResolxMFTrackwidthProfileCategory1Rphi
 
bool layerswitchResolxMFTrackwidthProfileCategory1Sas
 
bool layerswitchResolxMFTrackwidthProfileCategory2Rphi
 
bool layerswitchResolxMFTrackwidthProfileCategory2Sas
 
bool layerswitchResolxMFTrackwidthProfileCategory3Rphi
 
bool layerswitchResolxMFTrackwidthProfileCategory3Sas
 
bool layerswitchResolxMFTrackwidthProfileCategory4Rphi
 
bool layerswitchResolxMFTrackwidthProfileCategory4Sas
 
bool layerswitchResolxMFTrackwidthProfileRphi
 
bool layerswitchResolxMFTrackwidthProfileSas
 
bool layerswitchResolxMFTrackwidthProfileWclus1Rphi
 
bool layerswitchResolxMFTrackwidthProfileWclus2Rphi
 
bool layerswitchResolxMFTrackwidthProfileWclus3Rphi
 
bool layerswitchResolxMFTrackwidthProfileWclus4Rphi
 
bool layerswitchResolyMatched
 
bool layerswitchResxMatched
 
bool layerswitchResyMatched
 
bool layerswitchTrackangle2Rphi
 
bool layerswitchTrackanglealpha
 
bool layerswitchTrackanglebeta
 
bool layerswitchTrackanglebetaRphi
 
bool layerswitchTrackanglebetaSas
 
bool layerswitchTrackangleRphi
 
bool layerswitchTrackangleSas
 
bool layerswitchTrackwidth
 
bool layerswitchTrackwidthRphi
 
bool layerswitchTrackwidthSas
 
bool layerswitchWclusRphi
 
bool layerswitchWclusSas
 
unsigned long long m_cacheID_
 
std::vector< PSimHitmatched
 
std::string outputFileName
 
bool outputMEsInRootFile
 
edm::ParameterSet Parameters
 
RecHitProperties rechitpro
 
bool runStandalone
 
SimpleHitsMEs simplehitsMEs
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
 
std::map< std::string, StereoAndMatchedMEsStereoAndMatchedMEsMap
 
std::string topFolderName_
 
float track_rapidity
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
edm::EDGetTokenT< std::vector< reco::Track > > tracksInputToken_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 75 of file SiStripTrackingRecHitsValid.h.

Member Enumeration Documentation

Enumerator
matched 
monoHit 
stereoHit 

Definition at line 432 of file SiStripTrackingRecHitsValid.h.

432 { matched, monoHit, stereoHit};

Constructor & Destructor Documentation

SiStripTrackingRecHitsValid::SiStripTrackingRecHitsValid ( const edm::ParameterSet conf)

Definition at line 44 of file SiStripTrackingRecHitsValid.cc.

References conf_, edm::ParameterSet::getParameter(), layerswitchAdcRphi, layerswitchAdcSas, layerswitchCategory, layerswitchCategoryRphi, layerswitchCategorySas, layerswitchClusterwidth, layerswitchClusterwidthRphi, layerswitchClusterwidthSas, layerswitchExpectedwidth, layerswitchExpectedwidthRphi, layerswitchExpectedwidthSas, layerswitchPosxMatched, layerswitchPosyMatched, layerswitchPull_LF, layerswitchPull_MF, layerswitchPullLFRphi, layerswitchPullLFSas, layerswitchPullMFRphi, layerswitchPullMFRphiwclus1, layerswitchPullMFRphiwclus2, layerswitchPullMFRphiwclus3, layerswitchPullMFRphiwclus4, layerswitchPullMFSas, layerswitchPullTrackangle2DRphi, layerswitchPullTrackangleProfileRphi, layerswitchPullTrackangleProfileSas, layerswitchPullTrackwidthProfileCategory1Rphi, layerswitchPullTrackwidthProfileCategory1Sas, layerswitchPullTrackwidthProfileCategory2Rphi, layerswitchPullTrackwidthProfileCategory2Sas, layerswitchPullTrackwidthProfileCategory3Rphi, layerswitchPullTrackwidthProfileCategory3Sas, layerswitchPullTrackwidthProfileCategory4Rphi, layerswitchPullTrackwidthProfileCategory4Sas, layerswitchPullTrackwidthProfileRphi, layerswitchPullTrackwidthProfileRphiwclus1, layerswitchPullTrackwidthProfileRphiwclus2, layerswitchPullTrackwidthProfileRphiwclus3, layerswitchPullTrackwidthProfileRphiwclus4, layerswitchPullTrackwidthProfileSas, layerswitchPullxMatched, layerswitchPullyMatched, layerswitchrapidityResProfilewclus1, layerswitchrapidityResProfilewclus2, layerswitchrapidityResProfilewclus3, layerswitchrapidityResProfilewclus4, layerswitchRes_LF, layerswitchRes_MF, layerswitchResLFRphi, layerswitchResLFSas, layerswitchResMFRphi, layerswitchResMFRphiwclus1, layerswitchResMFRphiwclus2, layerswitchResMFRphiwclus3, layerswitchResMFRphiwclus4, layerswitchResMFSas, layerswitchResMFTrackwidthProfile_WClus1, layerswitchResMFTrackwidthProfile_WClus2, layerswitchResMFTrackwidthProfile_WClus21, layerswitchResMFTrackwidthProfile_WClus22, layerswitchResMFTrackwidthProfile_WClus23, layerswitchResMFTrackwidthProfile_WClus3, layerswitchResMFTrackwidthProfile_WClus4, layerswitchResMFTrackwidthProfileWclus1Rphi, layerswitchResMFTrackwidthProfileWclus2Rphi, layerswitchResMFTrackwidthProfileWclus3Rphi, layerswitchResMFTrackwidthProfileWclus4Rphi, layerswitchResolx_LF, layerswitchResolx_MF, layerswitchResolxLFRphi, layerswitchResolxLFSas, layerswitchResolxMatched, layerswitchResolxMFAngleProfile, layerswitchResolxMFAngleProfileRphi, layerswitchResolxMFAngleProfileSas, layerswitchResolxMFClusterwidthProfile_Category1, layerswitchResolxMFClusterwidthProfileCategory1Rphi, layerswitchResolxMFClusterwidthProfileCategory1Sas, layerswitchResolxMFRphi, layerswitchResolxMFRphiwclus1, layerswitchResolxMFRphiwclus2, layerswitchResolxMFRphiwclus3, layerswitchResolxMFRphiwclus4, layerswitchResolxMFSas, layerswitchResolxMFTrackwidthProfile, layerswitchResolxMFTrackwidthProfile_Category1, layerswitchResolxMFTrackwidthProfile_Category2, layerswitchResolxMFTrackwidthProfile_Category3, layerswitchResolxMFTrackwidthProfile_Category4, layerswitchResolxMFTrackwidthProfile_WClus1, layerswitchResolxMFTrackwidthProfile_WClus2, layerswitchResolxMFTrackwidthProfile_WClus3, layerswitchResolxMFTrackwidthProfile_WClus4, layerswitchResolxMFTrackwidthProfileCategory1Rphi, layerswitchResolxMFTrackwidthProfileCategory1Sas, layerswitchResolxMFTrackwidthProfileCategory2Rphi, layerswitchResolxMFTrackwidthProfileCategory2Sas, layerswitchResolxMFTrackwidthProfileCategory3Rphi, layerswitchResolxMFTrackwidthProfileCategory3Sas, layerswitchResolxMFTrackwidthProfileCategory4Rphi, layerswitchResolxMFTrackwidthProfileCategory4Sas, layerswitchResolxMFTrackwidthProfileRphi, layerswitchResolxMFTrackwidthProfileSas, layerswitchResolxMFTrackwidthProfileWclus1Rphi, layerswitchResolxMFTrackwidthProfileWclus2Rphi, layerswitchResolxMFTrackwidthProfileWclus3Rphi, layerswitchResolxMFTrackwidthProfileWclus4Rphi, layerswitchResolyMatched, layerswitchResxMatched, layerswitchResyMatched, layerswitchTrackangle2Rphi, layerswitchTrackanglealpha, layerswitchTrackanglebeta, layerswitchTrackanglebetaRphi, layerswitchTrackanglebetaSas, layerswitchTrackangleRphi, layerswitchTrackangleSas, layerswitchTrackwidth, layerswitchTrackwidthRphi, layerswitchTrackwidthSas, layerswitchWclusRphi, layerswitchWclusSas, outputFileName, outputMEsInRootFile, runStandalone, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, and tracksInputToken_.

44  :
46  conf_(ps),
48  m_cacheID_(0)
49  // trajectoryInput_( ps.getParameter<edm::InputTag>("trajectoryInput") )
50 {
51  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
52 
53  runStandalone = conf_.getParameter<bool>("runStandalone");
54 
55  outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
56 
58 
59  tracksInputToken_ = consumes<std::vector<reco::Track> >( conf_.getParameter<edm::InputTag>("tracksInput") );
60 
61  edm::ParameterSet ParametersResolx_LF = conf_.getParameter<edm::ParameterSet>("TH1Resolx_LF");
62  layerswitchResolx_LF = ParametersResolx_LF.getParameter<bool>("layerswitchon");
63 
64  edm::ParameterSet ParametersResolx_MF = conf_.getParameter<edm::ParameterSet>("TH1Resolx_MF");
65  layerswitchResolx_MF = ParametersResolx_MF.getParameter<bool>("layerswitchon");
66 
67  edm::ParameterSet ParametersRes_LF = conf_.getParameter<edm::ParameterSet>("TH1Res_LF");
68  layerswitchRes_LF = ParametersRes_LF.getParameter<bool>("layerswitchon");
69 
70  edm::ParameterSet ParametersRes_MF = conf_.getParameter<edm::ParameterSet>("TH1Res_MF");
71  layerswitchRes_MF = ParametersRes_MF.getParameter<bool>("layerswitchon");
72 
73  edm::ParameterSet ParametersPull_LF = conf_.getParameter<edm::ParameterSet>("TH1Pull_LF");
74  layerswitchPull_LF = ParametersPull_LF.getParameter<bool>("layerswitchon");
75 
76  edm::ParameterSet ParametersPull_MF = conf_.getParameter<edm::ParameterSet>("TH1Pull_MF");
77  layerswitchPull_MF = ParametersPull_MF.getParameter<bool>("layerswitchon");
78 
79  edm::ParameterSet ParametersCategory = conf_.getParameter<edm::ParameterSet>("TH1Category");
80  layerswitchCategory = ParametersCategory.getParameter<bool>("layerswitchon");
81 
82  edm::ParameterSet ParametersTrackwidth = conf_.getParameter<edm::ParameterSet>("TH1Trackwidth");
83  layerswitchTrackwidth = ParametersTrackwidth.getParameter<bool>("layerswitchon");
84 
85  edm::ParameterSet ParametersExpectedwidth = conf_.getParameter<edm::ParameterSet>("TH1Expectedwidth");
86  layerswitchExpectedwidth = ParametersExpectedwidth.getParameter<bool>("layerswitchon");
87 
88  edm::ParameterSet ParametersClusterwidth = conf_.getParameter<edm::ParameterSet>("TH1Clusterwidth");
89  layerswitchClusterwidth = ParametersClusterwidth.getParameter<bool>("layerswitchon");
90 
91  edm::ParameterSet ParametersTrackanglealpha = conf_.getParameter<edm::ParameterSet>("TH1Trackanglealpha");
92  layerswitchTrackanglealpha = ParametersTrackanglealpha.getParameter<bool>("layerswitchon");
93 
94  edm::ParameterSet ParametersTrackanglebeta = conf_.getParameter<edm::ParameterSet>("TH1Trackanglebeta");
95  layerswitchTrackanglebeta = ParametersTrackanglebeta.getParameter<bool>("layerswitchon");
96 
97  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus1 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus1");
98  layerswitchResolxMFTrackwidthProfile_WClus1 = ParametersResolxMFTrackwidthProfile_WClus1.getParameter<bool>("layerswitchon");
99 
100  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus2 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus2");
101  layerswitchResolxMFTrackwidthProfile_WClus2 = ParametersResolxMFTrackwidthProfile_WClus2.getParameter<bool>("layerswitchon");
102 
103  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus3 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus3");
104  layerswitchResolxMFTrackwidthProfile_WClus3 = ParametersResolxMFTrackwidthProfile_WClus3.getParameter<bool>("layerswitchon");
105 
106  edm::ParameterSet ParametersResolxMFTrackwidthProfile_WClus4 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_WClus4");
107  layerswitchResolxMFTrackwidthProfile_WClus4 = ParametersResolxMFTrackwidthProfile_WClus4.getParameter<bool>("layerswitchon");
108 
109  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus1 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus1");
110  layerswitchResMFTrackwidthProfile_WClus1 = ParametersResMFTrackwidthProfile_WClus1.getParameter<bool>("layerswitchon");
111 
112  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus2 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus2");
113  layerswitchResMFTrackwidthProfile_WClus2 = ParametersResMFTrackwidthProfile_WClus2.getParameter<bool>("layerswitchon");
114 
115  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus21 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus21");
116  layerswitchResMFTrackwidthProfile_WClus21 = ParametersResMFTrackwidthProfile_WClus21.getParameter<bool>("layerswitchon");
117 
118  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus22 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus22");
119  layerswitchResMFTrackwidthProfile_WClus22 = ParametersResMFTrackwidthProfile_WClus22.getParameter<bool>("layerswitchon");
120 
121  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus23 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus23");
122  layerswitchResMFTrackwidthProfile_WClus23 = ParametersResMFTrackwidthProfile_WClus23.getParameter<bool>("layerswitchon");
123 
124  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus3 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus3");
125  layerswitchResMFTrackwidthProfile_WClus3 = ParametersResMFTrackwidthProfile_WClus3.getParameter<bool>("layerswitchon");
126 
127  edm::ParameterSet ParametersResMFTrackwidthProfile_WClus4 = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfile_WClus4");
128  layerswitchResMFTrackwidthProfile_WClus4 = ParametersResMFTrackwidthProfile_WClus4.getParameter<bool>("layerswitchon");
129 
130  edm::ParameterSet ParametersResolxMFTrackwidthProfile = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile");
131  layerswitchResolxMFTrackwidthProfile = ParametersResolxMFTrackwidthProfile.getParameter<bool>("layerswitchon");
132 
133  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category1 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category1");
134  layerswitchResolxMFTrackwidthProfile_Category1 = ParametersResolxMFTrackwidthProfile_Category1.getParameter<bool>("layerswitchon");
135 
136  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category2 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category2");
137  layerswitchResolxMFTrackwidthProfile_Category2 = ParametersResolxMFTrackwidthProfile_Category2.getParameter<bool>("layerswitchon");
138 
139  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category3 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category3");
140  layerswitchResolxMFTrackwidthProfile_Category3 = ParametersResolxMFTrackwidthProfile_Category3.getParameter<bool>("layerswitchon");
141 
142  edm::ParameterSet ParametersResolxMFTrackwidthProfile_Category4 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfile_Category4");
143  layerswitchResolxMFTrackwidthProfile_Category4 = ParametersResolxMFTrackwidthProfile_Category4.getParameter<bool>("layerswitchon");
144 
145  edm::ParameterSet ParametersResolxMFClusterwidthProfile_Category1 = conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfile_Category1");
146  layerswitchResolxMFClusterwidthProfile_Category1 = ParametersResolxMFClusterwidthProfile_Category1.getParameter<bool>("layerswitchon");
147 
148  edm::ParameterSet ParametersResolxMFAngleProfile = conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfile");
149  layerswitchResolxMFAngleProfile = ParametersResolxMFAngleProfile.getParameter<bool>("layerswitchon");
150 
151  edm::ParameterSet ParametersWclusRphi = conf_.getParameter<edm::ParameterSet>("TH1WclusRphi");
152  layerswitchWclusRphi = ParametersWclusRphi.getParameter<bool>("layerswitchon");
153 
154  edm::ParameterSet ParametersAdcRphi = conf_.getParameter<edm::ParameterSet>("TH1AdcRphi");
155  layerswitchAdcRphi = ParametersAdcRphi.getParameter<bool>("layerswitchon");
156 
157  edm::ParameterSet ParametersResolxLFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResolxLFRphi");
158  layerswitchResolxLFRphi = ParametersResolxLFRphi.getParameter<bool>("layerswitchon");
159 
160  edm::ParameterSet ParametersResolxMFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphi");
161  layerswitchResolxMFRphi = ParametersResolxMFRphi.getParameter<bool>("layerswitchon");
162 
163  edm::ParameterSet ParametersResolxMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus1");
164  layerswitchResolxMFRphiwclus1 = ParametersResolxMFRphiwclus1.getParameter<bool>("layerswitchon");
165 
166  edm::ParameterSet ParametersResolxMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus2");
167  layerswitchResolxMFRphiwclus2 = ParametersResolxMFRphiwclus2.getParameter<bool>("layerswitchon");
168 
169  edm::ParameterSet ParametersResolxMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus3");
170  layerswitchResolxMFRphiwclus3 = ParametersResolxMFRphiwclus3.getParameter<bool>("layerswitchon");
171 
172  edm::ParameterSet ParametersResolxMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFRphiwclus4");
173  layerswitchResolxMFRphiwclus4 = ParametersResolxMFRphiwclus4.getParameter<bool>("layerswitchon");
174 
175  edm::ParameterSet ParametersResLFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResLFRphi");
176  layerswitchResLFRphi = ParametersResLFRphi.getParameter<bool>("layerswitchon");
177 
178  edm::ParameterSet ParametersResMFRphi = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphi");
179  layerswitchResMFRphi = ParametersResMFRphi.getParameter<bool>("layerswitchon");
180 
181  edm::ParameterSet ParametersResMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus1");
182  layerswitchResMFRphiwclus1 = ParametersResMFRphiwclus1.getParameter<bool>("layerswitchon");
183 
184  edm::ParameterSet ParametersResMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus2");
185  layerswitchResMFRphiwclus2 = ParametersResMFRphiwclus2.getParameter<bool>("layerswitchon");
186 
187  edm::ParameterSet ParametersResMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus3");
188  layerswitchResMFRphiwclus3 = ParametersResMFRphiwclus3.getParameter<bool>("layerswitchon");
189 
190  edm::ParameterSet ParametersResMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1ResMFRphiwclus4");
191  layerswitchResMFRphiwclus4 = ParametersResMFRphiwclus4.getParameter<bool>("layerswitchon");
192 
193  edm::ParameterSet ParametersPullLFRphi = conf_.getParameter<edm::ParameterSet>("TH1PullLFRphi");
194  layerswitchPullLFRphi = ParametersPullLFRphi.getParameter<bool>("layerswitchon");
195 
196  edm::ParameterSet ParametersPullMFRphi = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphi");
197  layerswitchPullMFRphi = ParametersPullMFRphi.getParameter<bool>("layerswitchon");
198 
199  edm::ParameterSet ParametersPullMFRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus1");
200  layerswitchPullMFRphiwclus1 = ParametersPullMFRphiwclus1.getParameter<bool>("layerswitchon");
201 
202  edm::ParameterSet ParametersPullMFRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus2");
203  layerswitchPullMFRphiwclus2 = ParametersPullMFRphiwclus2.getParameter<bool>("layerswitchon");
204 
205  edm::ParameterSet ParametersPullMFRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus3");
206  layerswitchPullMFRphiwclus3 = ParametersPullMFRphiwclus3.getParameter<bool>("layerswitchon");
207 
208  edm::ParameterSet ParametersPullMFRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TH1PullMFRphiwclus4");
209  layerswitchPullMFRphiwclus4 = ParametersPullMFRphiwclus4.getParameter<bool>("layerswitchon");
210 
211  edm::ParameterSet ParametersTrackangleRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackangleRphi");
212  layerswitchTrackangleRphi = ParametersTrackangleRphi.getParameter<bool>("layerswitchon");
213 
214  edm::ParameterSet ParametersTrackanglebetaRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackanglebetaRphi");
215  layerswitchTrackanglebetaRphi = ParametersTrackanglebetaRphi.getParameter<bool>("layerswitchon");
216 
217  edm::ParameterSet ParametersTrackangle2Rphi = conf_.getParameter<edm::ParameterSet>("TH1Trackangle2Rphi");
218  layerswitchTrackangle2Rphi = ParametersTrackangle2Rphi.getParameter<bool>("layerswitchon");
219 
220  edm::ParameterSet ParametersPullTrackangleProfileRphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackangleProfileRphi");
221  layerswitchPullTrackangleProfileRphi = ParametersPullTrackangleProfileRphi.getParameter<bool>("layerswitchon");
222 
223  edm::ParameterSet ParametersPullTrackangle2DRphi = conf_.getParameter<edm::ParameterSet>("TH1PullTrackangle2DRphi");
224  layerswitchPullTrackangle2DRphi = ParametersPullTrackangle2DRphi.getParameter<bool>("layerswitchon");
225 
226  edm::ParameterSet ParametersTrackwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1TrackwidthRphi");
227  layerswitchTrackwidthRphi = ParametersTrackwidthRphi.getParameter<bool>("layerswitchon");
228 
229  edm::ParameterSet ParametersExpectedwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1ExpectedwidthRphi");
230  layerswitchExpectedwidthRphi = ParametersExpectedwidthRphi.getParameter<bool>("layerswitchon");
231 
232  edm::ParameterSet ParametersClusterwidthRphi = conf_.getParameter<edm::ParameterSet>("TH1ClusterwidthRphi");
233  layerswitchClusterwidthRphi = ParametersClusterwidthRphi.getParameter<bool>("layerswitchon");
234 
235  edm::ParameterSet ParametersCategoryRphi = conf_.getParameter<edm::ParameterSet>("TH1CategoryRphi");
236  layerswitchCategoryRphi = ParametersCategoryRphi.getParameter<bool>("layerswitchon");
237 
238  edm::ParameterSet ParametersPullTrackwidthProfileRphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphi");
239  layerswitchPullTrackwidthProfileRphi = ParametersPullTrackwidthProfileRphi.getParameter<bool>("layerswitchon");
240 
241  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus1 = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus1");
242  layerswitchPullTrackwidthProfileRphiwclus1 = ParametersPullTrackwidthProfileRphiwclus1.getParameter<bool>("layerswitchon");
243 
244  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus2 = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus2");
245  layerswitchPullTrackwidthProfileRphiwclus2 = ParametersPullTrackwidthProfileRphiwclus2.getParameter<bool>("layerswitchon");
246 
247  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus3 = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus3");
248  layerswitchPullTrackwidthProfileRphiwclus3 = ParametersPullTrackwidthProfileRphiwclus3.getParameter<bool>("layerswitchon");
249 
250  edm::ParameterSet ParametersPullTrackwidthProfileRphiwclus4 = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileRphiwclus4");
251  layerswitchPullTrackwidthProfileRphiwclus4 = ParametersPullTrackwidthProfileRphiwclus4.getParameter<bool>("layerswitchon");
252 
253  edm::ParameterSet ParametersPullTrackwidthProfileCategory1Rphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory1Rphi");
254  layerswitchPullTrackwidthProfileCategory1Rphi = ParametersPullTrackwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
255 
256  edm::ParameterSet ParametersPullTrackwidthProfileCategory2Rphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory2Rphi");
257  layerswitchPullTrackwidthProfileCategory2Rphi = ParametersPullTrackwidthProfileCategory2Rphi.getParameter<bool>("layerswitchon");
258 
259  edm::ParameterSet ParametersPullTrackwidthProfileCategory3Rphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory3Rphi");
260  layerswitchPullTrackwidthProfileCategory3Rphi = ParametersPullTrackwidthProfileCategory3Rphi.getParameter<bool>("layerswitchon");
261 
262  edm::ParameterSet ParametersPullTrackwidthProfileCategory4Rphi = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory4Rphi");
263  layerswitchPullTrackwidthProfileCategory4Rphi = ParametersPullTrackwidthProfileCategory4Rphi.getParameter<bool>("layerswitchon");
264 
265  edm::ParameterSet ParametersResolxMFTrackwidthProfileRphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileRphi");
266  layerswitchResolxMFTrackwidthProfileRphi = ParametersResolxMFTrackwidthProfileRphi.getParameter<bool>("layerswitchon");
267 
268  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus1Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus1Rphi");
269  layerswitchResolxMFTrackwidthProfileWclus1Rphi = ParametersResolxMFTrackwidthProfileWclus1Rphi.getParameter<bool>("layerswitchon");
270 
271  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus2Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus2Rphi");
272  layerswitchResolxMFTrackwidthProfileWclus2Rphi = ParametersResolxMFTrackwidthProfileWclus2Rphi.getParameter<bool>("layerswitchon");
273 
274  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus3Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus3Rphi");
275  layerswitchResolxMFTrackwidthProfileWclus3Rphi = ParametersResolxMFTrackwidthProfileWclus3Rphi.getParameter<bool>("layerswitchon");
276 
277  edm::ParameterSet ParametersResolxMFTrackwidthProfileWclus4Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileWclus4Rphi");
278  layerswitchResolxMFTrackwidthProfileWclus4Rphi = ParametersResolxMFTrackwidthProfileWclus4Rphi.getParameter<bool>("layerswitchon");
279 
280  edm::ParameterSet ParametersResMFTrackwidthProfileWclus1Rphi = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus1Rphi");
281  layerswitchResMFTrackwidthProfileWclus1Rphi = ParametersResMFTrackwidthProfileWclus1Rphi.getParameter<bool>("layerswitchon");
282 
283  edm::ParameterSet ParametersResMFTrackwidthProfileWclus2Rphi = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus2Rphi");
284  layerswitchResMFTrackwidthProfileWclus2Rphi = ParametersResMFTrackwidthProfileWclus2Rphi.getParameter<bool>("layerswitchon");
285 
286  edm::ParameterSet ParametersResMFTrackwidthProfileWclus3Rphi = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus3Rphi");
287  layerswitchResMFTrackwidthProfileWclus3Rphi = ParametersResMFTrackwidthProfileWclus3Rphi.getParameter<bool>("layerswitchon");
288 
289  edm::ParameterSet ParametersResMFTrackwidthProfileWclus4Rphi = conf_.getParameter<edm::ParameterSet>("TProfResMFTrackwidthProfileWclus4Rphi");
290  layerswitchResMFTrackwidthProfileWclus4Rphi = ParametersResMFTrackwidthProfileWclus4Rphi.getParameter<bool>("layerswitchon");
291 
292  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory1Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory1Rphi");
293  layerswitchResolxMFTrackwidthProfileCategory1Rphi = ParametersResolxMFTrackwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
294 
295  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory2Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory2Rphi");
296  layerswitchResolxMFTrackwidthProfileCategory2Rphi = ParametersResolxMFTrackwidthProfileCategory2Rphi.getParameter<bool>("layerswitchon");
297 
298  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory3Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory3Rphi");
299  layerswitchResolxMFTrackwidthProfileCategory3Rphi = ParametersResolxMFTrackwidthProfileCategory3Rphi.getParameter<bool>("layerswitchon");
300 
301  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory4Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory4Rphi");
302  layerswitchResolxMFTrackwidthProfileCategory4Rphi = ParametersResolxMFTrackwidthProfileCategory4Rphi.getParameter<bool>("layerswitchon");
303 
304  edm::ParameterSet ParametersResolxMFAngleProfileRphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfileRphi");
305  layerswitchResolxMFAngleProfileRphi = ParametersResolxMFAngleProfileRphi.getParameter<bool>("layerswitchon");
306 
307  edm::ParameterSet ParametersResolxMFClusterwidthProfileCategory1Rphi = conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfileCategory1Rphi");
308  layerswitchResolxMFClusterwidthProfileCategory1Rphi = ParametersResolxMFClusterwidthProfileCategory1Rphi.getParameter<bool>("layerswitchon");
309 
310  edm::ParameterSet ParametersrapidityResProfilewclus1 = conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus1");
311  layerswitchrapidityResProfilewclus1 = ParametersrapidityResProfilewclus1.getParameter<bool>("layerswitchon");
312 
313  edm::ParameterSet ParametersrapidityResProfilewclus2 = conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus2");
314  layerswitchrapidityResProfilewclus2 = ParametersrapidityResProfilewclus2.getParameter<bool>("layerswitchon");
315 
316  edm::ParameterSet ParametersrapidityResProfilewclus3 = conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus3");
317  layerswitchrapidityResProfilewclus3 = ParametersrapidityResProfilewclus3.getParameter<bool>("layerswitchon");
318 
319  edm::ParameterSet ParametersrapidityResProfilewclus4 = conf_.getParameter<edm::ParameterSet>("TProfrapidityResProfilewclus4");
320  layerswitchrapidityResProfilewclus4 = ParametersrapidityResProfilewclus4.getParameter<bool>("layerswitchon");
321 
322  edm::ParameterSet ParametersWclusSas = conf_.getParameter<edm::ParameterSet>("TH1WclusSas");
323  layerswitchWclusSas = ParametersWclusSas.getParameter<bool>("layerswitchon");
324 
325  edm::ParameterSet ParametersAdcSas = conf_.getParameter<edm::ParameterSet>("TH1AdcSas");
326  layerswitchAdcSas = ParametersAdcSas.getParameter<bool>("layerswitchon");
327 
328  edm::ParameterSet ParametersResolxLFSas = conf_.getParameter<edm::ParameterSet>("TH1ResolxLFSas");
329  layerswitchResolxLFSas = ParametersResolxLFSas.getParameter<bool>("layerswitchon");
330 
331  edm::ParameterSet ParametersResolxMFSas = conf_.getParameter<edm::ParameterSet>("TH1ResolxMFSas");
332  layerswitchResolxMFSas = ParametersResolxMFSas.getParameter<bool>("layerswitchon");
333 
334  edm::ParameterSet ParametersResLFSas = conf_.getParameter<edm::ParameterSet>("TH1ResLFSas");
335  layerswitchResLFSas = ParametersResLFSas.getParameter<bool>("layerswitchon");
336 
337  edm::ParameterSet ParametersResMFSas = conf_.getParameter<edm::ParameterSet>("TH1ResMFSas");
338  layerswitchResMFSas = ParametersResMFSas.getParameter<bool>("layerswitchon");
339 
340  edm::ParameterSet ParametersPullLFSas = conf_.getParameter<edm::ParameterSet>("TH1PullLFSas");
341  layerswitchPullLFSas = ParametersPullLFSas.getParameter<bool>("layerswitchon");
342 
343  edm::ParameterSet ParametersPullMFSas = conf_.getParameter<edm::ParameterSet>("TH1PullMFSas");
344  layerswitchPullMFSas = ParametersPullMFSas.getParameter<bool>("layerswitchon");
345 
346  edm::ParameterSet ParametersTrackangleSas = conf_.getParameter<edm::ParameterSet>("TH1TrackangleSas");
347  layerswitchTrackangleSas = ParametersTrackangleSas.getParameter<bool>("layerswitchon");
348 
349  edm::ParameterSet ParametersTrackanglebetaSas = conf_.getParameter<edm::ParameterSet>("TH1TrackanglebetaSas");
350  layerswitchTrackanglebetaSas = ParametersTrackanglebetaSas.getParameter<bool>("layerswitchon");
351 
352  edm::ParameterSet ParametersPullTrackangleProfileSas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackangleProfileSas");
353  layerswitchPullTrackangleProfileSas = ParametersPullTrackangleProfileSas.getParameter<bool>("layerswitchon");
354 
355  edm::ParameterSet ParametersTrackwidthSas = conf_.getParameter<edm::ParameterSet>("TH1TrackwidthSas");
356  layerswitchTrackwidthSas = ParametersTrackwidthSas.getParameter<bool>("layerswitchon");
357 
358  edm::ParameterSet ParametersExpectedwidthSas = conf_.getParameter<edm::ParameterSet>("TH1ExpectedwidthSas");
359  layerswitchExpectedwidthSas = ParametersExpectedwidthSas.getParameter<bool>("layerswitchon");
360 
361  edm::ParameterSet ParametersClusterwidthSas = conf_.getParameter<edm::ParameterSet>("TH1ClusterwidthSas");
362  layerswitchClusterwidthSas = ParametersClusterwidthSas.getParameter<bool>("layerswitchon");
363 
364  edm::ParameterSet ParametersCategorySas = conf_.getParameter<edm::ParameterSet>("TH1CategorySas");
365  layerswitchCategorySas = ParametersCategorySas.getParameter<bool>("layerswitchon");
366 
367  edm::ParameterSet ParametersPullTrackwidthProfileSas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileSas");
368  layerswitchPullTrackwidthProfileSas = ParametersPullTrackwidthProfileSas.getParameter<bool>("layerswitchon");
369 
370  edm::ParameterSet ParametersPullTrackwidthProfileCategory1Sas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory1Sas");
371  layerswitchPullTrackwidthProfileCategory1Sas = ParametersPullTrackwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
372 
373  edm::ParameterSet ParametersPullTrackwidthProfileCategory2Sas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory2Sas");
374  layerswitchPullTrackwidthProfileCategory2Sas = ParametersPullTrackwidthProfileCategory2Sas.getParameter<bool>("layerswitchon");
375 
376  edm::ParameterSet ParametersPullTrackwidthProfileCategory3Sas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory3Sas");
377  layerswitchPullTrackwidthProfileCategory3Sas = ParametersPullTrackwidthProfileCategory3Sas.getParameter<bool>("layerswitchon");
378 
379  edm::ParameterSet ParametersPullTrackwidthProfileCategory4Sas = conf_.getParameter<edm::ParameterSet>("TProfPullTrackwidthProfileCategory4Sas");
380  layerswitchPullTrackwidthProfileCategory4Sas = ParametersPullTrackwidthProfileCategory4Sas.getParameter<bool>("layerswitchon");
381 
382  edm::ParameterSet ParametersResolxMFTrackwidthProfileSas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileSas");
383  layerswitchResolxMFTrackwidthProfileSas = ParametersResolxMFTrackwidthProfileSas.getParameter<bool>("layerswitchon");
384 
385  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory1Sas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory1Sas");
386  layerswitchResolxMFTrackwidthProfileCategory1Sas = ParametersResolxMFTrackwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
387 
388  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory2Sas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory2Sas");
389  layerswitchResolxMFTrackwidthProfileCategory2Sas = ParametersResolxMFTrackwidthProfileCategory2Sas.getParameter<bool>("layerswitchon");
390 
391  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory3Sas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory3Sas");
392  layerswitchResolxMFTrackwidthProfileCategory3Sas = ParametersResolxMFTrackwidthProfileCategory3Sas.getParameter<bool>("layerswitchon");
393 
394  edm::ParameterSet ParametersResolxMFTrackwidthProfileCategory4Sas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFTrackwidthProfileCategory4Sas");
395  layerswitchResolxMFTrackwidthProfileCategory4Sas = ParametersResolxMFTrackwidthProfileCategory4Sas.getParameter<bool>("layerswitchon");
396 
397  edm::ParameterSet ParametersResolxMFAngleProfileSas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFAngleProfileSas");
398  layerswitchResolxMFAngleProfileSas = ParametersResolxMFAngleProfileSas.getParameter<bool>("layerswitchon");
399 
400  edm::ParameterSet ParametersResolxMFClusterwidthProfileCategory1Sas = conf_.getParameter<edm::ParameterSet>("TProfResolxMFClusterwidthProfileCategory1Sas");
401  layerswitchResolxMFClusterwidthProfileCategory1Sas = ParametersResolxMFClusterwidthProfileCategory1Sas.getParameter<bool>("layerswitchon");
402 
403  edm::ParameterSet ParametersPosxMatched = conf_.getParameter<edm::ParameterSet>("TH1PosxMatched");
404  layerswitchPosxMatched = ParametersPosxMatched.getParameter<bool>("layerswitchon");
405 
406  edm::ParameterSet ParametersPosyMatched = conf_.getParameter<edm::ParameterSet>("TH1PosyMatched");
407  layerswitchPosyMatched = ParametersPosyMatched.getParameter<bool>("layerswitchon");
408 
409  edm::ParameterSet ParametersResolxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolxMatched");
410  layerswitchResolxMatched = ParametersResolxMatched.getParameter<bool>("layerswitchon");
411 
412  edm::ParameterSet ParametersResolyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResolyMatched");
413  layerswitchResolyMatched = ParametersResolyMatched.getParameter<bool>("layerswitchon");
414 
415  edm::ParameterSet ParametersResxMatched = conf_.getParameter<edm::ParameterSet>("TH1ResxMatched");
416  layerswitchResxMatched = ParametersResxMatched.getParameter<bool>("layerswitchon");
417 
418  edm::ParameterSet ParametersResyMatched = conf_.getParameter<edm::ParameterSet>("TH1ResyMatched");
419  layerswitchResyMatched = ParametersResyMatched.getParameter<bool>("layerswitchon");
420 
421  edm::ParameterSet ParametersPullxMatched = conf_.getParameter<edm::ParameterSet>("TH1PullxMatched");
422  layerswitchPullxMatched = ParametersPullxMatched.getParameter<bool>("layerswitchon");
423 
424  edm::ParameterSet ParametersPullyMatched = conf_.getParameter<edm::ParameterSet>("TH1PullyMatched");
425  layerswitchPullyMatched = ParametersPullyMatched.getParameter<bool>("layerswitchon");
426 
427 }
T getParameter(std::string const &) const
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EDGetTokenT< std::vector< reco::Track > > tracksInputToken_
SiStripTrackingRecHitsValid::~SiStripTrackingRecHitsValid ( )
override

Definition at line 430 of file SiStripTrackingRecHitsValid.cc.

430  {
431 }

Member Function Documentation

void SiStripTrackingRecHitsValid::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotected

Definition at line 458 of file SiStripTrackingRecHitsValid.cc.

References SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, edm::EventID::event(), SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, fillME(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), SiStripHistoId::getSubdetid(), h, hcalSimParameters_cfi::hb, edm::EventBase::id(), TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), diffTwoXMLs::label, LayerMEsMap, magfield2_, matched, SiStripTrackingRecHitsValid::SimpleHitsMEs::meCategory, SiStripTrackingRecHitsValid::SimpleHitsMEs::meClusterwidth, SiStripTrackingRecHitsValid::SimpleHitsMEs::meExpectedwidth, SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus21, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus22, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus23, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFAngleProfile, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFClusterwidthProfileCategory1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfile, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglealpha, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglebeta, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackwidth, min(), SiStripMatchedRecHit2D::monoHit(), monoHit, edm::ESHandle< T >::product(), SiStripTrackingRecHitsValid::RecHitProperties::pullx, SiStripTrackingRecHitsValid::RecHitProperties::pullxMF, SiStripTrackingRecHitsValid::RecHitProperties::pully, DetId::rawId(), rpcPointValidation_cfi::recHit, rechitanalysis(), rechitanalysis_matched(), rechitpro, SiStripTrackingRecHitsValid::RecHitProperties::resolxx, SiStripTrackingRecHitsValid::RecHitProperties::resolxxMF, SiStripTrackingRecHitsValid::RecHitProperties::resolyy, SiStripTrackingRecHitsValid::RecHitProperties::resx, SiStripTrackingRecHitsValid::RecHitProperties::resxMF, SiStripTrackingRecHitsValid::RecHitProperties::resy, edm::EventID::run(), alignCSCRings::s, simplehitsMEs, mathSSE::sqrt(), StripSubdetector::stereo(), StereoAndMatchedMEsMap, SiStripMatchedRecHit2D::stereoHit(), stereoHit, AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), HiIsolationCommonParameters_cff::track, track_rapidity, SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta, mixOne_simraw_on_sim_cfi::tracker, trackerHitAssociatorConfig_, l1t::tracks, tracksInputToken_, SiStripTrackingRecHitsValid::RecHitProperties::trackwidth, SiStripTrackingRecHitsValid::RecHitProperties::x, and SiStripTrackingRecHitsValid::RecHitProperties::y.

459 {
460 
461  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
462  //cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl;
463 
464  int isrechitrphi = 0;
465  int isrechitsas = 0;
466  int isrechitmatched = 0;
467 
468  DetId detid;
469  uint32_t myid;
470 
472 
473  //Retrieve tracker topology from geometry
474  edm::ESHandle<TrackerTopology> tTopoHandle;
475  es.get<TrackerTopologyRcd>().get(tTopoHandle);
476  const TrackerTopology* const tTopo = tTopoHandle.product();
477 
479  es.get < TrackerDigiGeometryRecord > ().get(pDD);
480  const TrackerGeometry & tracker(*pDD);
481 
482  const TrackerGeometry *tracker2;
484  es.get < TrackerDigiGeometryRecord > ().get(estracker);
485  tracker2 = &(*estracker);
486 
488  es.get < IdealMagneticFieldRecord > ().get(magfield);
489 
490  const MagneticField & magfield_(*magfield);
491  magfield2_ = &magfield_;
492 
494  es.get < TkStripCPERecord > ().get("SimpleStripCPE", stripcpe);
495 
496  // Mangano's
497 
498  edm::Handle < std::vector<reco::Track> > trackCollectionHandle;
499  e.getByToken(tracksInputToken_, trackCollectionHandle);
500 
501  edm::LogVerbatim("TrajectoryAnalyzer") << "trackColl->size(): " << trackCollectionHandle->size();
502  auto const & tracks = *trackCollectionHandle;
503  for (auto const & track : tracks) {
504 
505  if (track.pt()<0.5) continue;
506  edm::LogVerbatim("TrajectoryAnalyzer") << "this track has " << track.found() << " valid hits";
507 
508  auto const & trajParams = track.extra()->trajParams();
509  assert(trajParams.size()==track.recHitsSize());
510  auto hb = track.recHitsBegin();
511  for(unsigned int h=0;h<track.recHitsSize();h++){
512  auto recHit = *(hb+h);
513  if(!recHit->isValid()) continue;
514  auto ldir = trajParams[h].direction();
515  auto gmom = recHit->surface()->toGlobal(trajParams[h].momentum());
516  if (gmom.perp() < 0.5) continue; // redundant...
517  {
518 
519  auto thit2 = recHit;
520  DetId detid2 = thit2->geographicalId();
521  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast < const SiStripMatchedRecHit2D * >(thit2);
522  const SiStripRecHit2D *hit2d = dynamic_cast < const SiStripRecHit2D * >(thit2);
523  const SiStripRecHit1D *hit1d = dynamic_cast < const SiStripRecHit1D * >(thit2);
524 
525  auto thit = thit2;
526 
527  detid = (thit)->geographicalId();
528  myid = detid.rawId();
529  //Here due to the fact that the SiStripHistoId::getSubdetid complains when
530  //a subdet of 1 or 2 appears we add an if statement.
531  if(detid.subdetId()==1 ||detid.subdetId()==2 ){
532  continue;
533  }
534  SiStripHistoId hidmanager;
535  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
536  // std::cout<< "label " << label << " and id " << detid.subdetId() << std::endl;
537 
538  StripSubdetector StripSubdet = (StripSubdetector) detid;
539  //Variable to define the case we are dealing with
540  std::string matchedmonorstereo;
541 
542  isrechitmatched = 0;
543 
544  if (matchedhit) {
545  isrechitmatched = 1;
546  const GluedGeomDet *gluedDet = (const GluedGeomDet *) tracker.idToDet(matchedhit->geographicalId());
547  //Analysis
548  rechitanalysis_matched(ldir, thit2, gluedDet, associate, stripcpe, MatchStatus::matched);
549  // rechitmatched.push_back(rechitpro);
550  }
551 
552  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
553 
554  //Filling Histograms for Matched hits
555 
556  if (isrechitmatched) {
557 
558  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
559  fillME(iStereoAndMatchedME->second.mePosxMatched,rechitpro.x);
560  fillME(iStereoAndMatchedME->second.mePosyMatched,rechitpro.y);
561  fillME(iStereoAndMatchedME->second.meResolxMatched,sqrt(rechitpro.resolxx));
562  fillME(iStereoAndMatchedME->second.meResolyMatched,sqrt(rechitpro.resolyy));
563  fillME(iStereoAndMatchedME->second.meResxMatched,rechitpro.resx);
564  fillME(iStereoAndMatchedME->second.meResyMatched,rechitpro.resy);
565  fillME(iStereoAndMatchedME->second.mePullxMatched,rechitpro.pullx);
566  fillME(iStereoAndMatchedME->second.mePullyMatched,rechitpro.pully);
567  }
568  }
569 
570  //Reset Variables here for the current event
571  isrechitrphi = 0;
572  isrechitsas = 0;
573 
575  // simple hits from matched hits
577 
578  if (gmom.transverse() != 0) {
579  track_rapidity = gmom.eta();
580  } else {
581  track_rapidity = -999.0;
582  }
583 
584  if (matchedhit) {
585  auto hm = matchedhit->monoHit();
586  const SiStripRecHit2D *monohit = &hm;
587  // const GeomDetUnit * monodet=gdet->monoDet();
588  GluedGeomDet *gdet = (GluedGeomDet *) tracker2->idToDet(matchedhit->geographicalId());
589 
590  if (monohit) {
591 
592  isrechitrphi = 1;
593 
594  //Analysis
595  rechitanalysis_matched(ldir, thit2, gdet, associate, stripcpe, MatchStatus::monoHit);
596 
597  }
598 
599  auto s = matchedhit->stereoHit();
600  const SiStripRecHit2D *stereohit = &s;
601 
602  if (stereohit) {
603 
604  isrechitsas = 1;
605 
606  //Analysis
607  rechitanalysis_matched(ldir, thit2, gdet, associate, stripcpe, MatchStatus::stereoHit);
608  }
609  }
610 
611  if (hit1d) {
612  // simple hits are mono or stereo
613  // cout<<"simple hit"<<endl;
614  if (StripSubdet.stereo()) {
615 
616  //cout<<"simple hit stereo"<<endl;
617  isrechitsas = 1;
618 
619  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
620  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
621 
622  //Analysis for hit1d stereo
623  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, true);
624  } else {
625  isrechitrphi = 1;
626  // cout<<"simple hit mono"<<endl;
627 
628  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
629  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
630 
631  //Analysis for hit1d mono
632  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, true);
633 
634  }
635  }
636 
637  if (hit2d) {
638  // simple hits are mono or stereo
639  // cout<<"simple hit"<<endl;
640  if (StripSubdet.stereo()) {
641 
642  //cout<<"simple hit stereo"<<endl;
643  isrechitsas = 1;
644 
645  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
646  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
647 
648  //Analysis for hit2d stereo
649  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, false);
650 
651  } else {
652  isrechitrphi = 1;
653  // cout<<"simple hit mono"<<endl;
654 
655  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
656  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
657 
658  //Analysis for hit2d mono
659  rechitanalysis(ldir, thit2, stripdet, stripcpe, associate, false);
660 
661  }
662  }
663 
664 //------------------------------------------------------------------------------------------------------------------------------------------------------
665 
666  //Filling Histograms for simple hits
667  //cout<<"isrechitrphi,isrechitsas = "<<isrechitrphi<<","<<isrechitsas<<endl;
668 
669  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
670  if (isrechitrphi) {
677 
680 
681  if (rechitpro.clusiz == 1) {
684  } else if (rechitpro.clusiz == 2) {
690  } else if (rechitpro.clusiz == 3) {
693  } else if (rechitpro.clusiz == 4) {
696  }
697 
698  if (rechitpro.category == 1) {
701  } else if (rechitpro.category == 2) {
703  } else if (rechitpro.category == 3) {
705  } else if (rechitpro.category == 4) {
707  }
708 
715 
716  if(iLayerME != LayerMEsMap.end()){
717  fillME(iLayerME->second.meWclusRphi,rechitpro.clusiz);
718  fillME(iLayerME->second.meAdcRphi,rechitpro.cluchg);
719  fillME(iLayerME->second.meResolxLFRphi,sqrt(rechitpro.resolxx));
720  fillME(iLayerME->second.meResolxMFRphi,sqrt(rechitpro.resolxxMF));
721 
722  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResolxMFRphiwclus1,sqrt(rechitpro.resolxxMF));}
723  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResolxMFRphiwclus2,sqrt(rechitpro.resolxxMF));}
724  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResolxMFRphiwclus3,sqrt(rechitpro.resolxxMF));}
725  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResolxMFRphiwclus4,sqrt(rechitpro.resolxxMF));}
726 
727 
728  fillME(iLayerME->second.meResLFRphi,rechitpro.resx);
729  fillME(iLayerME->second.meResMFRphi,rechitpro.resxMF);
730 
731  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.merapidityResProfilewclus1,track_rapidity, fabs(rechitpro.resxMF));}
732  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.merapidityResProfilewclus2,track_rapidity, fabs(rechitpro.resxMF));}
733  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.merapidityResProfilewclus3,track_rapidity, fabs(rechitpro.resxMF));}
734  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.merapidityResProfilewclus4,track_rapidity, fabs(rechitpro.resxMF));}
735 
736  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResMFRphiwclus1,rechitpro.resxMF);}
737  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResMFRphiwclus2,rechitpro.resxMF);}
738  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResMFRphiwclus3,rechitpro.resxMF);}
739  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResMFRphiwclus4,rechitpro.resxMF);}
740 
741  fillME(iLayerME->second.mePullLFRphi,rechitpro.pullx);
742  fillME(iLayerME->second.mePullMFRphi,rechitpro.pullxMF);
743 
744  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullMFRphiwclus1,rechitpro.pullxMF);}
745  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullMFRphiwclus2,rechitpro.pullxMF);}
746  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullMFRphiwclus3,rechitpro.pullxMF);}
747  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullMFRphiwclus4,rechitpro.pullxMF);}
748 
749 
750  fillME(iLayerME->second.meTrackangleRphi,rechitpro.trackangle);
751  fillME(iLayerME->second.mePullTrackangleProfileRphi,rechitpro.trackangle,fabs(rechitpro.pullxMF));
752 
753  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus1,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
754  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus2,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
755  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus3,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
756  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus4,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
757 
758 
759  if (rechitpro.clusiz == 1) {
760  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
761  fillME(iLayerME->second.meResMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
762  }
763  if (rechitpro.clusiz == 2) {
764  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
765  fillME(iLayerME->second.meResMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
766  }
767  if (rechitpro.clusiz == 3) {
768  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
769  fillME(iLayerME->second.meResMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
770  }
771  if (rechitpro.clusiz == 4) {
772  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
773  fillME(iLayerME->second.meResMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
774  }
775 
776 
777  if (rechitpro.category == 1) {
778  fillME(iLayerME->second.mePullTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
779  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
780  fillME(iLayerME->second.meResolxMFClusterwidthProfileCategory1Rphi,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
781  } else if(rechitpro.category == 2) {
782  fillME(iLayerME->second.mePullTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
783  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
784  } else if (rechitpro.category == 3) {
785  fillME(iLayerME->second.mePullTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
786  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
787  } else if (rechitpro.category == 4) {
788  fillME(iLayerME->second.mePullTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
789  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
790  }
791 
792  fillME(iLayerME->second.meTrackwidthRphi,rechitpro.trackwidth);
793  fillME(iLayerME->second.meExpectedwidthRphi,rechitpro.expectedwidth);
794  fillME(iLayerME->second.meClusterwidthRphi,rechitpro.clusiz);
795  fillME(iLayerME->second.meCategoryRphi,rechitpro.category);
796  fillME(iLayerME->second.meResolxMFTrackwidthProfileRphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
797  fillME(iLayerME->second.meResolxMFAngleProfileRphi,rechitpro.trackangle,sqrt(rechitpro.resolxxMF));
798  }
799  }
800 
801  if (isrechitsas > 0) {
808 
811 
812  if (rechitpro.clusiz == 1) {
815  } else if (rechitpro.clusiz == 2) {
818  } else if (rechitpro.clusiz == 3) {
821  } else if (rechitpro.clusiz == 4) {
824  } if (rechitpro.category == 1) {
827  } else if (rechitpro.category == 2) {
829  } else if (rechitpro.category == 3) {
831  } else if (rechitpro.category == 4) {
833  }
834 
841 
842  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
843  fillME(iStereoAndMatchedME->second.meWclusSas,rechitpro.clusiz);
844  fillME(iStereoAndMatchedME->second.meAdcSas,rechitpro.cluchg);
845  fillME(iStereoAndMatchedME->second.meResolxLFSas,sqrt(rechitpro.resolxx));
846  fillME(iStereoAndMatchedME->second.meResLFSas,rechitpro.resx);
847  fillME(iStereoAndMatchedME->second.mePullLFSas,rechitpro.pullx);
848  fillME(iStereoAndMatchedME->second.meResolxMFSas,sqrt(rechitpro.resolxxMF));
849  fillME(iStereoAndMatchedME->second.meResMFSas,rechitpro.resxMF);
850  fillME(iStereoAndMatchedME->second.mePullMFSas,rechitpro.pullxMF);
851  fillME(iStereoAndMatchedME->second.meTrackangleSas,rechitpro.trackangle);
852  fillME(iStereoAndMatchedME->second.mePullTrackangleProfileSas,rechitpro.trackangle, rechitpro.pullxMF);
853  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileSas,rechitpro.trackwidth, rechitpro.pullxMF);
854  if (rechitpro.category == 1) {
855  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory1Sas,rechitpro.trackwidth,rechitpro.pullxMF);
856  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory1Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
857  fillME(iStereoAndMatchedME->second.meResolxMFClusterwidthProfileCategory1Sas,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
858  } else if (rechitpro.category == 2) {
859  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory2Sas,rechitpro.trackwidth,rechitpro.pullxMF);
860  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory2Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
861  } else if (rechitpro.category == 3) {
862  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory3Sas,rechitpro.trackwidth,rechitpro.pullxMF);
863  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory3Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
864  } else if (rechitpro.category == 4) {
865  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory4Sas,rechitpro.trackwidth,rechitpro.pullxMF);
866  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory4Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
867  }
868  fillME(iStereoAndMatchedME->second.meTrackwidthSas,rechitpro.trackwidth);
869  fillME(iStereoAndMatchedME->second.meExpectedwidthSas,rechitpro.expectedwidth);
870  fillME(iStereoAndMatchedME->second.meClusterwidthSas,rechitpro.clusiz);
871  fillME(iStereoAndMatchedME->second.meCategorySas,rechitpro.category);
872  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileSas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
873  fillME(iStereoAndMatchedME->second.meResolxMFAngleProfileSas,rechitpro.trackangle, rechitpro.resolxxMF);
874  }
875  }
876  }
877  }
878  }
879 }
RunNumber_t run() const
Definition: EventID.h:39
EventNumber_t event() const
Definition: EventID.h:41
void rechitanalysis_matched(LocalVector ldir, const TrackingRecHit *rechit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate, edm::ESHandle< StripClusterParameterEstimator > stripcpe, const MatchStatus matchedmonorstereo)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
void fillME(MonitorElement *ME, float value1)
std::map< std::string, LayerMEs > LayerMEsMap
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
T sqrt(T t)
Definition: SSEVec.h:18
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EDGetTokenT< std::vector< reco::Track > > tracksInputToken_
T min(T a, T b)
Definition: MathUtil.h:58
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Definition: DetId.h:18
unsigned int stereo() const
stereo
SiStripRecHit2D stereoHit() const
SiStripRecHit2D monoHit() const
void rechitanalysis(LocalVector ldir, const TrackingRecHit *rechit, const StripGeomDetUnit *stripdet, edm::ESHandle< StripClusterParameterEstimator > stripcpe, TrackerHitAssociator &associate, bool simplehit1or2D)
edm::EventID id() const
Definition: EventBase.h:60
const TrackerGeomDet * idToDet(DetId) const override
DetId geographicalId() const
T const * product() const
Definition: ESHandle.h:86
void SiStripTrackingRecHitsValid::beginJob ( const edm::EventSetup es)
protected

Definition at line 446 of file SiStripTrackingRecHitsValid.cc.

446  {
447 
448 }
void SiStripTrackingRecHitsValid::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
overrideprotected

Definition at line 433 of file SiStripTrackingRecHitsValid.cc.

References createMEs(), edm::EventSetup::get(), and m_cacheID_.

433  {
434 
435  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
436  if (m_cacheID_ != cacheID) {
437  m_cacheID_ = cacheID;
438  edm::LogInfo("SiStripRecHitsValid") <<"SiStripRecHitsValid::beginRun: "
439  << " Creating MEs for new Cabling ";
440 
441  createMEs(ibooker,es);
442  }
443 }
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
const T & get() const
Definition: EventSetup.h:58
MonitorElement * SiStripTrackingRecHitsValid::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 2065 of file SiStripTrackingRecHitsValid.cc.

References DQMStore::IBooker::book1D(), conf_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), createSimpleHitsMEs(), and createStereoAndMatchedMEs().

2066 {
2067  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2068  return ibooker.book1D(HistoName,HistoTitle,
2069  Parameters.getParameter<int32_t>("Nbinx"),
2070  Parameters.getParameter<double>("xmin"),
2071  Parameters.getParameter<double>("xmax")
2072  );
2073 }
T getParameter(std::string const &) const
vector< ParameterSet > Parameters
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::string HistoName
MonitorElement * SiStripTrackingRecHitsValid::bookMEProfile ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 2075 of file SiStripTrackingRecHitsValid.cc.

References DQMStore::IBooker::bookProfile(), conf_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), createSimpleHitsMEs(), and createStereoAndMatchedMEs().

2076 {
2077  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2078  //The number of channels in Y is disregarded in a profile plot.
2079  return ibooker.bookProfile(HistoName,HistoTitle,
2080  Parameters.getParameter<int32_t>("Nbinx"),
2081  Parameters.getParameter<double>("xmin"),
2082  Parameters.getParameter<double>("xmax"),
2083  Parameters.getParameter<double>("ymin"),
2084  Parameters.getParameter<double>("ymax"),
2085  ""
2086  );
2087 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
vector< ParameterSet > Parameters
std::string HistoName
void SiStripTrackingRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 1504 of file SiStripTrackingRecHitsValid.cc.

References bookME1D(), bookMEProfile(), SiStripHistoId::createHistoLayer(), diffTwoXMLs::label, LayerMEsMap, layerswitchAdcRphi, layerswitchCategoryRphi, layerswitchClusterwidthRphi, layerswitchExpectedwidthRphi, layerswitchPullLFRphi, layerswitchPullMFRphi, layerswitchPullMFRphiwclus1, layerswitchPullMFRphiwclus2, layerswitchPullMFRphiwclus3, layerswitchPullMFRphiwclus4, layerswitchPullTrackangle2DRphi, layerswitchPullTrackangleProfileRphi, layerswitchPullTrackwidthProfileCategory1Rphi, layerswitchPullTrackwidthProfileCategory2Rphi, layerswitchPullTrackwidthProfileCategory3Rphi, layerswitchPullTrackwidthProfileCategory4Rphi, layerswitchPullTrackwidthProfileRphi, layerswitchPullTrackwidthProfileRphiwclus1, layerswitchPullTrackwidthProfileRphiwclus2, layerswitchPullTrackwidthProfileRphiwclus3, layerswitchPullTrackwidthProfileRphiwclus4, layerswitchrapidityResProfilewclus1, layerswitchrapidityResProfilewclus2, layerswitchrapidityResProfilewclus3, layerswitchrapidityResProfilewclus4, layerswitchResLFRphi, layerswitchResMFRphi, layerswitchResMFRphiwclus1, layerswitchResMFRphiwclus2, layerswitchResMFRphiwclus3, layerswitchResMFRphiwclus4, layerswitchResMFTrackwidthProfileWclus1Rphi, layerswitchResMFTrackwidthProfileWclus2Rphi, layerswitchResMFTrackwidthProfileWclus3Rphi, layerswitchResMFTrackwidthProfileWclus4Rphi, layerswitchResolxLFRphi, layerswitchResolxMFAngleProfileRphi, layerswitchResolxMFClusterwidthProfileCategory1Rphi, layerswitchResolxMFRphi, layerswitchResolxMFRphiwclus1, layerswitchResolxMFRphiwclus2, layerswitchResolxMFRphiwclus3, layerswitchResolxMFRphiwclus4, layerswitchResolxMFTrackwidthProfileCategory1Rphi, layerswitchResolxMFTrackwidthProfileCategory2Rphi, layerswitchResolxMFTrackwidthProfileCategory3Rphi, layerswitchResolxMFTrackwidthProfileCategory4Rphi, layerswitchResolxMFTrackwidthProfileRphi, layerswitchResolxMFTrackwidthProfileWclus1Rphi, layerswitchResolxMFTrackwidthProfileWclus2Rphi, layerswitchResolxMFTrackwidthProfileWclus3Rphi, layerswitchResolxMFTrackwidthProfileWclus4Rphi, layerswitchTrackangle2Rphi, layerswitchTrackanglebetaRphi, layerswitchTrackangleRphi, layerswitchTrackwidthRphi, layerswitchWclusRphi, SiStripTrackingRecHitsValid::LayerMEs::meAdcRphi, SiStripTrackingRecHitsValid::LayerMEs::meCategoryRphi, SiStripTrackingRecHitsValid::LayerMEs::meClusterwidthRphi, SiStripTrackingRecHitsValid::LayerMEs::meExpectedwidthRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullLFRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus1, SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus2, SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus3, SiStripTrackingRecHitsValid::LayerMEs::mePullMFRphiwclus4, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackangle2DRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackangleProfileRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory1Rphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory2Rphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory3Rphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileCategory4Rphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphi, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus1, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus2, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus3, SiStripTrackingRecHitsValid::LayerMEs::mePullTrackwidthProfileRphiwclus4, SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus1, SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus2, SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus3, SiStripTrackingRecHitsValid::LayerMEs::merapidityResProfilewclus4, SiStripTrackingRecHitsValid::LayerMEs::meResLFRphi, SiStripTrackingRecHitsValid::LayerMEs::meResMFRphi, SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus1, SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus2, SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus3, SiStripTrackingRecHitsValid::LayerMEs::meResMFRphiwclus4, SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus1Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus2Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus3Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResMFTrackwidthProfileWclus4Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxLFRphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFAngleProfileRphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFClusterwidthProfileCategory1Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus1, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus2, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus3, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFRphiwclus4, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory1Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory2Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory3Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileCategory4Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileRphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus1Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus2Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus3Rphi, SiStripTrackingRecHitsValid::LayerMEs::meResolxMFTrackwidthProfileWclus4Rphi, SiStripTrackingRecHitsValid::LayerMEs::meTrackangle2Rphi, SiStripTrackingRecHitsValid::LayerMEs::meTrackanglebetaRphi, SiStripTrackingRecHitsValid::LayerMEs::meTrackangleRphi, SiStripTrackingRecHitsValid::LayerMEs::meTrackwidthRphi, SiStripTrackingRecHitsValid::LayerMEs::meWclusRphi, and MonitorElement::setAxisTitle().

Referenced by createMEs().

1505 {
1506  SiStripHistoId hidmanager;
1507  LayerMEs layerMEs;
1508 
1509  layerMEs.meWclusRphi = nullptr;
1510  layerMEs.meAdcRphi = nullptr;
1511  layerMEs.meResolxLFRphi = nullptr;
1512  layerMEs.meResolxMFRphi = nullptr;
1513  layerMEs.meResolxMFRphiwclus1 = nullptr;
1514  layerMEs.meResolxMFRphiwclus2 = nullptr;
1515  layerMEs.meResolxMFRphiwclus3 = nullptr;
1516  layerMEs.meResolxMFRphiwclus4 = nullptr;
1517  layerMEs.meResLFRphi = nullptr;
1518  layerMEs.meResMFRphi = nullptr;
1519  layerMEs.meResMFRphiwclus1 = nullptr;
1520  layerMEs.meResMFRphiwclus2 = nullptr;
1521  layerMEs.meResMFRphiwclus3 = nullptr;
1522  layerMEs.meResMFRphiwclus4 = nullptr;
1523  layerMEs.mePullLFRphi = nullptr;
1524  layerMEs.mePullMFRphi = nullptr;
1525  layerMEs.mePullMFRphiwclus1 = nullptr;
1526  layerMEs.mePullMFRphiwclus2 = nullptr;
1527  layerMEs.mePullMFRphiwclus3 = nullptr;
1528  layerMEs.mePullMFRphiwclus4 = nullptr;
1529  layerMEs.meTrackangleRphi = nullptr;
1530  layerMEs.meTrackanglebetaRphi = nullptr;
1531  layerMEs.meTrackangle2Rphi = nullptr;
1532  layerMEs.mePullTrackangleProfileRphi = nullptr;
1533  layerMEs.mePullTrackangle2DRphi = nullptr;
1534  layerMEs.meTrackwidthRphi = nullptr;
1535  layerMEs.meExpectedwidthRphi = nullptr;
1536  layerMEs.meClusterwidthRphi = nullptr;
1537  layerMEs.meCategoryRphi = nullptr;
1538  layerMEs.mePullTrackwidthProfileRphi = nullptr;
1539  layerMEs.mePullTrackwidthProfileRphiwclus1 = nullptr;
1540  layerMEs.mePullTrackwidthProfileRphiwclus2 = nullptr;
1541  layerMEs.mePullTrackwidthProfileRphiwclus3 = nullptr;
1542  layerMEs.mePullTrackwidthProfileRphiwclus4 = nullptr;
1543  layerMEs.mePullTrackwidthProfileCategory1Rphi = nullptr;
1544  layerMEs.mePullTrackwidthProfileCategory2Rphi = nullptr;
1545  layerMEs.mePullTrackwidthProfileCategory3Rphi = nullptr;
1546  layerMEs.mePullTrackwidthProfileCategory4Rphi = nullptr;
1547  layerMEs.meResolxMFTrackwidthProfileRphi = nullptr;
1548 
1549  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = nullptr;
1550  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = nullptr;
1551  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = nullptr;
1552  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = nullptr;
1553  layerMEs.meResMFTrackwidthProfileWclus1Rphi = nullptr;
1554  layerMEs.meResMFTrackwidthProfileWclus2Rphi = nullptr;
1555  layerMEs.meResMFTrackwidthProfileWclus3Rphi = nullptr;
1556  layerMEs.meResMFTrackwidthProfileWclus4Rphi = nullptr;
1557 
1558  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = nullptr;
1559  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = nullptr;
1560  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = nullptr;
1561  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = nullptr;
1562  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = nullptr;
1563  layerMEs.meResolxMFAngleProfileRphi = nullptr;
1564  layerMEs.merapidityResProfilewclus1 = nullptr;
1565  layerMEs.merapidityResProfilewclus2 = nullptr;
1566  layerMEs.merapidityResProfilewclus3 = nullptr;
1567  layerMEs.merapidityResProfilewclus4 = nullptr;
1568 
1569 
1570  //WclusRphi
1571  if(layerswitchWclusRphi) {
1572  layerMEs.meWclusRphi = bookME1D(ibooker,"TH1WclusRphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1573  layerMEs.meWclusRphi->setAxisTitle("Cluster Width [nr strips] in "+ label);
1574  }
1575  //AdcRphi
1576  if(layerswitchAdcRphi) {
1577  layerMEs.meAdcRphi = bookME1D(ibooker,"TH1AdcRphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge");
1578  layerMEs.meAdcRphi->setAxisTitle("cluster charge [ADC] in " + label);
1579  }
1580  //ResolxLFRphi
1582  layerMEs.meResolxLFRphi = bookME1D(ibooker,"TH1ResolxLFRphi", hidmanager.createHistoLayer("Resolx_LF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1583  layerMEs.meResolxLFRphi->setAxisTitle("resol(x) RecHit coord. (local frame) in " + label);
1584  }
1585  //ResolxMFRphi
1587  layerMEs.meResolxMFRphi = bookME1D(ibooker,"TH1ResolxMFRphi", hidmanager.createHistoLayer("Resolx_MF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1588  layerMEs.meResolxMFRphi->setAxisTitle("resol(x) RecHit coord. (measurement frame) in " + label);
1589  }
1590  //ResolxMFRphiwclus1
1592  layerMEs.meResolxMFRphiwclus1 = bookME1D(ibooker,"TH1ResolxMFRphiwclus1", hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=1 "); //<resolor>~20micron
1593  layerMEs.meResolxMFRphiwclus1->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=1 in " + label);
1594  }
1595  //ResolxMFRphiwclus2
1597  layerMEs.meResolxMFRphiwclus2 = bookME1D(ibooker,"TH1ResolxMFRphiwclus2", hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=2 "); //<resolor>~20micron
1598  layerMEs.meResolxMFRphiwclus2->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=2 in " + label);
1599  }
1600  //ResolxMFRphiwclus3
1602  layerMEs.meResolxMFRphiwclus3 = bookME1D(ibooker,"TH1ResolxMFRphiwclus3", hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=3 "); //<resolor>~20micron
1603  layerMEs.meResolxMFRphiwclus3->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=3 in " + label);
1604  }
1605  //ResolxMFRphiwclus4
1607  layerMEs.meResolxMFRphiwclus4 = bookME1D(ibooker,"TH1ResolxMFRphiwclus4", hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=4 "); //<resolor>~20micron
1608  layerMEs.meResolxMFRphiwclus4->setAxisTitle("resol(x) RecHit coord. (measurement frame) for w=4 in " + label);
1609  }
1610  //ResLFRphi
1611  if(layerswitchResLFRphi) {
1612  layerMEs.meResLFRphi = bookME1D(ibooker,"TH1ResLFRphi", hidmanager.createHistoLayer("Res_LF_rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1613  layerMEs.meResLFRphi->setAxisTitle("Hit Residuals(x) (local frame) in " + label);
1614  }
1615  //ResMFRphi
1616  if(layerswitchResMFRphi) {
1617  layerMEs.meResMFRphi = bookME1D(ibooker,"TH1ResMFRphi",hidmanager.createHistoLayer("Res_MF_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1618  layerMEs.meResMFRphi->setAxisTitle("Hit Residuals(x) (measurement frame) in "+ label);
1619  }
1620  //ResMFRphiwclus1
1622  layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,"TH1ResMFRphiwclus1",hidmanager.createHistoLayer("Res_MF_wclus1_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=1");
1623  layerMEs.meResMFRphiwclus1->setAxisTitle("Hit Residuals(x) (measurement frame) for w=1 in "+ label);
1624  }
1625  //ResMFRphiwclus2
1627  layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,"TH1ResMFRphiwclus2",hidmanager.createHistoLayer("Res_MF_wclus2_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=2");
1628  layerMEs.meResMFRphiwclus2->setAxisTitle("Hit Residuals(x) (measurement frame) for w=2 in "+ label);
1629  }
1630  //ResMFRphiwclus3
1632  layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,"TH1ResMFRphiwclus3",hidmanager.createHistoLayer("Res_MF_wclus3_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=3");
1633  layerMEs.meResMFRphiwclus3->setAxisTitle("Hit Residuals(x) (measurement frame) for w=3 in "+ label);
1634  }
1635  //ResMFRphiwclus4
1637  layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,"TH1ResMFRphiwclus4",hidmanager.createHistoLayer("Res_MF_wclus4_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=4");
1638  layerMEs.meResMFRphiwclus4->setAxisTitle("Hit Residuals(x) (measurement frame) for w=4 in "+ label);
1639  }
1640  //PullLFRphi
1641  if(layerswitchPullLFRphi) {
1642  layerMEs.mePullLFRphi = bookME1D(ibooker,"TH1PullLFRphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution");
1643  layerMEs.mePullLFRphi->setAxisTitle("Pull distribution (local frame) in " + label);
1644  }
1645  //PullMFRphi
1646  if(layerswitchPullMFRphi) {
1647  layerMEs.mePullMFRphi = bookME1D(ibooker,"TH1PullMFRphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution");
1648  layerMEs.mePullMFRphi->setAxisTitle("Pull distribution (measurement frame) in " + label);
1649  }
1650  //PullMFRphiwclus1
1652  layerMEs.mePullMFRphiwclus1 = bookME1D(ibooker,"TH1PullMFRphiwclus1", hidmanager.createHistoLayer("Pull_MF_wclus1_rphi","layer",label,"").c_str() ,"Pull distribution w=1");
1653  layerMEs.mePullMFRphiwclus1->setAxisTitle("Pull distribution (measurement frame) for w=1 in " + label);
1654  }
1655  //PullMFRphiwclus2
1657  layerMEs.mePullMFRphiwclus2 = bookME1D(ibooker,"TH1PullMFRphiwclus2", hidmanager.createHistoLayer("Pull_MF_wclus2_rphi","layer",label,"").c_str() ,"Pull distribution w=2");
1658  layerMEs.mePullMFRphiwclus2->setAxisTitle("Pull distribution (measurement frame) for w=2 in " + label);
1659  }
1660  //PullMFRphiwclus3
1662  layerMEs.mePullMFRphiwclus3 = bookME1D(ibooker,"TH1PullMFRphiwclus3", hidmanager.createHistoLayer("Pull_MF_wclus3_rphi","layer",label,"").c_str() ,"Pull distribution w=3");
1663  layerMEs.mePullMFRphiwclus3->setAxisTitle("Pull distribution (measurement frame) for w=3 in " + label);
1664  }
1665  //PullMFRphiwclus4
1667  layerMEs.mePullMFRphiwclus4 = bookME1D(ibooker,"TH1PullMFRphiwclus4", hidmanager.createHistoLayer("Pull_MF_wclus4_rphi","layer",label,"").c_str() ,"Pull distribution w=4");
1668  layerMEs.mePullMFRphiwclus4->setAxisTitle("Pull distribution (measurement frame) for w=4 in " + label);
1669  }
1670 
1672  layerMEs.meTrackangleRphi = bookME1D(ibooker,"TH1TrackangleRphi",hidmanager.createHistoLayer("Track_angle_Rphi","layer",label,"").c_str() ,"Track angle alpha");
1673  layerMEs.meTrackangleRphi->setAxisTitle("Track angle in "+ label);
1674  }
1676  layerMEs.meTrackanglebetaRphi = bookME1D(ibooker,"TH1TrackanglebetaRphi",hidmanager.createHistoLayer("Track_angle_beta_Rphi","layer",label,"").c_str() ,"Track angle beta");
1677  layerMEs.meTrackanglebetaRphi->setAxisTitle(""+ label);
1678  }
1680  layerMEs.meTrackangle2Rphi = bookME1D(ibooker,"TH1Trackangle2Rphi",hidmanager.createHistoLayer("Track_angle2_Rphi","layer",label,"").c_str() ,"");
1681  layerMEs.meTrackangle2Rphi->setAxisTitle(""+ label);
1682  }
1684  layerMEs.mePullTrackangleProfileRphi = bookMEProfile(ibooker,"TProfPullTrackangleProfileRphi",hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle alpha");
1685  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Track angle alpha in "+ label,1);
1686  layerMEs.mePullTrackangleProfileRphi->setAxisTitle("Pull (MF) in "+ label,2);
1687  }
1689  layerMEs.mePullTrackangle2DRphi = bookME1D(ibooker,"TH1PullTrackangle2DRphi",hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi","layer",label,"").c_str() ,"");
1690  layerMEs.mePullTrackangle2DRphi->setAxisTitle(""+ label);
1691  }
1693  layerMEs.meTrackwidthRphi = bookME1D(ibooker,"TH1TrackwidthRphi",hidmanager.createHistoLayer("Track_width_Rphi","layer",label,"").c_str() ,"Track width");
1694  layerMEs.meTrackwidthRphi->setAxisTitle("Track width in "+ label);
1695  }
1697  layerMEs.meExpectedwidthRphi = bookME1D(ibooker,"TH1ExpectedwidthRphi",hidmanager.createHistoLayer("Expected_width_Rphi","layer",label,"").c_str() ,"Expected width");
1698  layerMEs.meExpectedwidthRphi->setAxisTitle("Expected width in "+ label);
1699  }
1701  layerMEs.meClusterwidthRphi = bookME1D(ibooker,"TH1ClusterwidthRphi",hidmanager.createHistoLayer("Cluster_width_Rphi","layer",label,"").c_str() ,"Cluster width");
1702  layerMEs.meClusterwidthRphi->setAxisTitle("Cluster width in "+ label);
1703  }
1705  layerMEs.meCategoryRphi = bookME1D(ibooker,"TH1CategoryRphi",hidmanager.createHistoLayer("Category_Rphi","layer",label,"").c_str() ,"Category");
1706  layerMEs.meCategoryRphi->setAxisTitle("Category in "+ label);
1707  }
1709  layerMEs.mePullTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width");
1710  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("track width in "+ label,1);
1711  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle("Pull (MF) in "+ label,2);
1712  }
1714  layerMEs.mePullTrackwidthProfileRphiwclus1 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus1",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus1","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=1");
1715  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("track width for w=1 in "+ label,1);
1716  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle("Pull (MF) for w=1 in "+ label,2);
1717  }
1719  layerMEs.mePullTrackwidthProfileRphiwclus2 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus2",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus2","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=2");
1720  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("track width for w=2 in "+ label,1);
1721  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle("Pull (MF) for w=2 in "+ label,2);
1722 
1723  }
1725  layerMEs.mePullTrackwidthProfileRphiwclus3 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus3",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus3","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=3");
1726  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("track width for w=3 in "+ label,1);
1727  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle("Pull (MF) for w=3 in "+ label,2);
1728  }
1730  layerMEs.mePullTrackwidthProfileRphiwclus4 = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphiwclus4",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi_wclus4","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for w=4");
1731  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("track width for w=4 in "+ label,1);
1732  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle("Pull (MF) for w=4 in "+ label,2);
1733 
1734  }
1736  layerMEs.mePullTrackwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 1");
1737  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in "+ label,1);
1738  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle("Pull (MF) for Category 1 in "+ label,2);
1739  }
1741  layerMEs.mePullTrackwidthProfileCategory2Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 2");
1742  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in "+ label,1);
1743  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle("Pull (MF) for Category 2 in "+ label,2);
1744  }
1746  layerMEs.mePullTrackwidthProfileCategory3Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 3");
1747  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in "+ label,1);
1748  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle("Pull (MF) for Category 3 in "+ label,2);
1749  }
1751  layerMEs.mePullTrackwidthProfileCategory4Rphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width for Category 4");
1752  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in "+ label,1);
1753  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle("Pull (MF) for Category 4 in "+ label,2);
1754  }
1756  layerMEs.meResolxMFTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileRphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width");
1757  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("track width in "+ label,1);
1758  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle("Resolution in MF in "+ label,2);
1759  }
1760 
1762  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=1");
1763  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in "+ label,1);
1764  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle("Resolution in MF for w=1 in "+ label,2);
1765  }
1767  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=2");
1768  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in "+ label,1);
1769  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle("Resolution in MF for w=2 in "+ label,2);
1770  }
1772  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=3");
1773  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in "+ label,1);
1774  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle("Resolution in MF for w=3 in "+ label,2);
1775  }
1777  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for w=4");
1778  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in "+ label,1);
1779  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle("Resolution in MF for w=4 in "+ label,2);
1780  }
1782  layerMEs.meResMFTrackwidthProfileWclus1Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus1Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus1_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=1");
1783  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("track width for w=1 in "+ label,1);
1784  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle("Residuals(x) in MF for w=1 in "+ label,2);
1785  }
1787  layerMEs.meResMFTrackwidthProfileWclus2Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus2Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus2_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=2");
1788  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("track width for w=2 in "+ label,1);
1789  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle("Residuals(x) in MF for w=2 in "+ label,2);
1790  }
1792  layerMEs.meResMFTrackwidthProfileWclus3Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus3Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus3_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=3");
1793  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("track width for w=3 in "+ label,1);
1794  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle("Residuals(x) in MF for w=3 in "+ label,2);
1795  }
1797  layerMEs.meResMFTrackwidthProfileWclus4Rphi = bookMEProfile(ibooker,"TProfResMFTrackwidthProfileWclus4Rphi",hidmanager.createHistoLayer("ResMF_Track_width_Profile_Wclus4_Rphi","layer",label,"").c_str() ,"Profile of Residuals(x) in MF vs track width for w=4");
1798  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("track width for w=4 in "+ label,1);
1799  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle("Residuals(x) in MF for w=4 in "+ label,2);
1800  }
1801 
1803  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 1");
1804  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("track width for Category 1 in "+ label,1);
1805  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in "+ label,2);
1806  }
1808  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory2Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 2");
1809  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("track width for Category 2 in "+ label,1);
1810  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle("Resolution in MF for Category 2 in "+ label,2);
1811  }
1813  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory3Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 3");
1814  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("track width for Category 3 in "+ label,1);
1815  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle("Resolution in MF for Category 3 in "+ label,2);
1816  }
1818  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory4Rphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width for Category 4");
1819  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("track width for Category 4 in "+ label,1);
1820  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle("Resolution in MF for Category 4 in "+ label,2);
1821  }
1823  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfileCategory1Rphi",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width for Category 1");
1824  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("cluster width for Category 1 in "+ label,1);
1825  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle("Resolution in MF for Category 1 in "+ label,2);
1826  }
1828  layerMEs.meResolxMFAngleProfileRphi = bookMEProfile(ibooker,"TProfResolxMFAngleProfileRphi",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle alpha");
1829  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("track angle alpha in "+ label,1);
1830  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle("Resolution in MF in "+ label,2);
1831  }
1833  layerMEs.merapidityResProfilewclus1 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus1",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=1");
1834  layerMEs.merapidityResProfilewclus1->setAxisTitle("Res for w=1 in "+ label,1);
1835  layerMEs.merapidityResProfilewclus1->setAxisTitle("rapidity for w=1 in "+ label,2);
1836  }
1838  layerMEs.merapidityResProfilewclus2 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus2",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=2");
1839  layerMEs.merapidityResProfilewclus2->setAxisTitle("Res for w=2 in "+ label,1);
1840  layerMEs.merapidityResProfilewclus2->setAxisTitle("rapidity for w=2 in "+ label,2);
1841  }
1843  layerMEs.merapidityResProfilewclus3 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus3",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=3");
1844  layerMEs.merapidityResProfilewclus3->setAxisTitle("Res for w=3 in "+ label,1);
1845  layerMEs.merapidityResProfilewclus3->setAxisTitle("rapidity for w=3 in "+ label,2);
1846  }
1848  layerMEs.merapidityResProfilewclus4 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus4",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=4");
1849  layerMEs.merapidityResProfilewclus4->setAxisTitle("Res for w=4 in "+ label,1);
1850  layerMEs.merapidityResProfilewclus4->setAxisTitle("rapidity for w=4 in "+ label,2);
1851  }
1852 
1853 
1854  LayerMEsMap[label]=layerMEs;
1855 
1856 }
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::map< std::string, LayerMEs > LayerMEsMap
MonitorElement * bookMEProfile(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripTrackingRecHitsValid::createMEs ( DQMStore::IBooker ibooker,
const edm::EventSetup es 
)
private

Definition at line 1197 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), SiStripDetCabling::addActiveDetectorsRawIds(), createLayerMEs(), createSimpleHitsMEs(), createStereoAndMatchedMEs(), edm::EventSetup::get(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), diffTwoXMLs::label, LayerDetMap, LayerMEsMap, edm::ESHandle< T >::product(), SiStripFolderOrganizer::setLayerFolder(), SiStripFolderOrganizer::setSiStripFolder(), SiStripFolderOrganizer::setSiStripFolderName(), SiStripDetCabling_, StereoAndMatchedDetMap, StereoAndMatchedMEsMap, AlCaHLTBitMon_QueryRunRegistry::string, TrackerTopology::tecIsStereo(), TrackerTopology::tibIsStereo(), TrackerTopology::tidIsStereo(), TrackerTopology::tobIsStereo(), and topFolderName_.

Referenced by bookHistograms().

1197  {
1198 
1199  //Retrieve tracker topology from geometry
1200  edm::ESHandle<TrackerTopology> tTopoHandle;
1201  es.get<TrackerTopologyRcd>().get(tTopoHandle);
1202  const TrackerTopology* const tTopo = tTopoHandle.product();
1203 
1204  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
1206 
1207  // get list of active detectors from SiStripDetCabling
1208  std::vector<uint32_t> activeDets;
1210 
1211  SiStripFolderOrganizer folder_organizer;
1212  // folder_organizer.setSiStripFolderName(topFolderName_);
1213  std::string curfold = topFolderName_;
1214  folder_organizer.setSiStripFolderName(curfold);
1215  folder_organizer.setSiStripFolder();
1216 
1217  // std::cout << "curfold " << curfold << std::endl;
1218 
1219  createSimpleHitsMEs(ibooker);
1220 
1221  // loop over detectors and book MEs
1222  edm::LogInfo("SiStripTrackingRecHitsValid|SiStripTrackingRecHitsValid")<<"nr. of activeDets: "<<activeDets.size();
1223  const std::string& tec = "TEC", tid = "TID", tob = "TOB", tib = "TIB";
1224  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(), detid_end = activeDets.end(); detid_iterator!=detid_end; ++detid_iterator){
1225  uint32_t detid = (*detid_iterator);
1226  // remove any eventual zero elements - there should be none, but just in case
1227  if(detid == 0) {
1228  activeDets.erase(detid_iterator);
1229  continue;
1230  }
1231 
1232  // Create Layer Level MEs
1233  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,true);
1234  SiStripHistoId hidmanager;
1235  std::string label = hidmanager.getSubdetid(detid,tTopo,true);
1236  // std::cout << "label " << label << endl;
1237 
1238  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
1239  if(iLayerME==LayerMEsMap.end()) {
1240 
1241  // get detids for the layer
1242  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1243  int32_t lnumber = det_layer_pair.second;
1244  const std::string& lname = det_layer_pair.first;
1245  std::vector<uint32_t> layerDetIds;
1246  if (lname == tec) {
1247  if (lnumber > 0) {
1248  SiStripSubStructure::getTECDetectors(activeDets,layerDetIds,tTopo,2,0,0,0,abs(lnumber),0);
1249  } else if (lnumber < 0) {
1250  SiStripSubStructure::getTECDetectors(activeDets,layerDetIds,tTopo,1,0,0,0,abs(lnumber),0);
1251  }
1252  } else if (lname == tid) {
1253  if (lnumber > 0) {
1254  SiStripSubStructure::getTIDDetectors(activeDets,layerDetIds,tTopo,2,0,abs(lnumber),0);
1255  } else if (lnumber < 0) {
1256  SiStripSubStructure::getTIDDetectors(activeDets,layerDetIds,tTopo,1,0,abs(lnumber),0);
1257  }
1258  } else if (lname == tob) {
1259  SiStripSubStructure::getTOBDetectors(activeDets,layerDetIds,tTopo,lnumber,0,0);
1260  } else if (lname == tib) {
1261  SiStripSubStructure::getTIBDetectors(activeDets,layerDetIds,tTopo,lnumber,0,0,0);
1262  }
1263  LayerDetMap[label] = layerDetIds;
1264 
1265  // book Layer MEs
1266  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
1267  // std::stringstream ss;
1268  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
1269  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
1270  // folder_organizer.setLayerFolder(detid,det_layer_pair.second,true);
1271  createLayerMEs(ibooker,label);
1272  }
1273  //Create StereoAndMatchedMEs
1274  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
1275  if(iStereoAndMatchedME==StereoAndMatchedMEsMap.end()) {
1276 
1277  // get detids for the stereo and matched layer. We are going to need a bool for these layers
1278  bool isStereo = false;
1279  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1280  std::vector<uint32_t> stereoandmatchedDetIds;
1281  int32_t stereolnumber = det_layer_pair.second;
1282  const std::string& stereolname = det_layer_pair.first;
1283  if ( stereolname == tec && (tTopo->tecIsStereo(detid)) ) {
1284  if ( stereolnumber > 0 ) {
1285  SiStripSubStructure::getTECDetectors(activeDets,stereoandmatchedDetIds,tTopo,2,0,0,0,abs(stereolnumber),1);
1286  isStereo = true;
1287  } else if ( stereolnumber < 0 ) {
1288  SiStripSubStructure::getTECDetectors(activeDets,stereoandmatchedDetIds,tTopo,1,0,0,0,abs(stereolnumber),1);
1289  isStereo = true;
1290  }
1291  } else if ( stereolname == tid && (tTopo->tidIsStereo(detid)) ) {
1292  if ( stereolnumber > 0 ) {
1293  SiStripSubStructure::getTIDDetectors(activeDets,stereoandmatchedDetIds,tTopo,2,0,abs(stereolnumber),1);
1294  isStereo = true;
1295  } else if ( stereolnumber < 0 ) {
1296  SiStripSubStructure::getTIDDetectors(activeDets,stereoandmatchedDetIds,tTopo,1,0,abs(stereolnumber),1);
1297  isStereo = true;
1298  }
1299  } else if ( stereolname == tob && (tTopo->tobIsStereo(detid)) ) {
1300  SiStripSubStructure::getTOBDetectors(activeDets,stereoandmatchedDetIds,tTopo,stereolnumber,0,0);
1301  isStereo = true;
1302  } else if ( stereolname == tib && (tTopo->tibIsStereo(detid)) ) {
1303  SiStripSubStructure::getTIBDetectors(activeDets,stereoandmatchedDetIds,tTopo,stereolnumber,0,0,0);
1304  isStereo = true;
1305  }
1306 
1307  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
1308 
1309  // book StereoAndMatched MEs
1310  if(isStereo){
1311  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
1312  // std::stringstream ss1;
1313  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
1314  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
1315  //Create the Monitor Elements only when we have a stereo module
1316  createStereoAndMatchedMEs(ibooker,label);
1317  }
1318  }
1319 
1320 
1321  }//end of loop over detectors
1322 }
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
void setSiStripFolderName(std::string name)
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
bool tobIsStereo(const DetId &id) const
std::map< std::string, LayerMEs > LayerMEsMap
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label)
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
bool tidIsStereo(const DetId &id) const
bool tecIsStereo(const DetId &id) const
void createSimpleHitsMEs(DQMStore::IBooker &ibooker)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
const T & get() const
Definition: EventSetup.h:58
bool tibIsStereo(const DetId &id) const
void createStereoAndMatchedMEs(DQMStore::IBooker &ibooker, std::string label)
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
std::map< std::string, std::vector< uint32_t > > StereoAndMatchedDetMap
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
std::map< std::string, std::vector< uint32_t > > LayerDetMap
T const * product() const
Definition: ESHandle.h:86
void SiStripTrackingRecHitsValid::createSimpleHitsMEs ( DQMStore::IBooker ibooker)
private

Definition at line 1324 of file SiStripTrackingRecHitsValid.cc.

References bookME1D(), bookMEProfile(), layerswitchCategory, layerswitchClusterwidth, layerswitchExpectedwidth, layerswitchPull_LF, layerswitchPull_MF, layerswitchRes_LF, layerswitchRes_MF, layerswitchResMFTrackwidthProfile_WClus1, layerswitchResMFTrackwidthProfile_WClus2, layerswitchResMFTrackwidthProfile_WClus21, layerswitchResMFTrackwidthProfile_WClus22, layerswitchResMFTrackwidthProfile_WClus23, layerswitchResMFTrackwidthProfile_WClus3, layerswitchResMFTrackwidthProfile_WClus4, layerswitchResolx_LF, layerswitchResolx_MF, layerswitchResolxMFAngleProfile, layerswitchResolxMFClusterwidthProfile_Category1, layerswitchResolxMFTrackwidthProfile, layerswitchResolxMFTrackwidthProfile_Category1, layerswitchResolxMFTrackwidthProfile_Category2, layerswitchResolxMFTrackwidthProfile_Category3, layerswitchResolxMFTrackwidthProfile_Category4, layerswitchResolxMFTrackwidthProfile_WClus1, layerswitchResolxMFTrackwidthProfile_WClus2, layerswitchResolxMFTrackwidthProfile_WClus3, layerswitchResolxMFTrackwidthProfile_WClus4, layerswitchTrackanglealpha, layerswitchTrackanglebeta, layerswitchTrackwidth, SiStripTrackingRecHitsValid::SimpleHitsMEs::meCategory, SiStripTrackingRecHitsValid::SimpleHitsMEs::meClusterwidth, SiStripTrackingRecHitsValid::SimpleHitsMEs::meExpectedwidth, SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::mePullMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus21, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus22, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus23, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResMFTrackwidthProfileWClus4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxLF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMF, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFAngleProfile, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFClusterwidthProfileCategory1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfile, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileCategory4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus1, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus2, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus3, SiStripTrackingRecHitsValid::SimpleHitsMEs::meResolxMFTrackwidthProfileWClus4, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglealpha, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackanglebeta, SiStripTrackingRecHitsValid::SimpleHitsMEs::meTrackwidth, MonitorElement::setAxisTitle(), and simplehitsMEs.

Referenced by createMEs().

1325 {
1326  simplehitsMEs.meCategory = nullptr;
1327  simplehitsMEs.meTrackwidth = nullptr;
1328  simplehitsMEs.meExpectedwidth = nullptr;
1329  simplehitsMEs.meClusterwidth = nullptr;
1330  simplehitsMEs.meTrackanglealpha = nullptr;
1331  simplehitsMEs.meTrackanglebeta = nullptr;
1338 
1343 
1352  simplehitsMEs.meResolxLF = nullptr;
1353  simplehitsMEs.meResLF = nullptr;
1354  simplehitsMEs.mePullLF = nullptr;
1355  simplehitsMEs.meResolxMF = nullptr;
1356  simplehitsMEs.meResMF = nullptr;
1357  simplehitsMEs.mePullMF = nullptr;
1358 
1359 
1360  if(layerswitchResolx_LF) {
1361  simplehitsMEs.meResolxLF = bookME1D(ibooker,"TH1Resolx_LF", "TH1Resolx_LF" ,"RecHit resol(x) coord. (local frame)");
1362  simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)");
1363  }
1364  if(layerswitchResolx_MF) {
1365  simplehitsMEs.meResolxMF = bookME1D(ibooker,"TH1Resolx_MF", "TH1Resolx_MF" ,"RecHit resol(x) coord. (measurement frame)");
1366  simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)");
1367  }
1368  if(layerswitchRes_LF) {
1369  simplehitsMEs.meResLF = bookME1D(ibooker,"TH1Res_LF", "TH1Res_LF" ,"Residual of the hit x coordinate (local frame)");
1370  simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)");
1371  }
1372  if(layerswitchRes_MF) {
1373  simplehitsMEs.meResMF = bookME1D(ibooker,"TH1Res_MF", "TH1Res_MF" ,"Residual of the hit x coordinate (measurement frame)");
1374  simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)");
1375  }
1376  if(layerswitchPull_LF) {
1377  simplehitsMEs.mePullLF = bookME1D(ibooker,"TH1Pull_LF", "TH1Pull_LF" ,"Pull distribution (local frame)");
1378  simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)");
1379  }
1380  if(layerswitchPull_MF) {
1381  simplehitsMEs.mePullMF = bookME1D(ibooker,"TH1Pull_MF", "TH1Pull_MF" ,"Pull distribution (measurement frame)");
1382  simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)");
1383  }
1384  if(layerswitchCategory) {
1385  simplehitsMEs.meCategory = bookME1D(ibooker,"TH1Category", "TH1Category" ,"Category");
1386  simplehitsMEs.meCategory->setAxisTitle("Category");
1387  }
1388  if(layerswitchTrackwidth) {
1389  simplehitsMEs.meTrackwidth = bookME1D(ibooker,"TH1Trackwidth", "TH1Trackwidth" ,"Track width");
1390  simplehitsMEs.meTrackwidth->setAxisTitle("Track width");
1391  }
1393  simplehitsMEs.meExpectedwidth = bookME1D(ibooker,"TH1Expectedwidth", "TH1Expectedwidth" ,"Expected width");
1394  simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width");
1395  }
1397  simplehitsMEs.meClusterwidth = bookME1D(ibooker,"TH1Clusterwidth", "TH1Clusterwidth" ,"Cluster width");
1398  simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width");
1399  }
1401  simplehitsMEs.meTrackanglealpha = bookME1D(ibooker,"TH1Trackanglealpha", "TH1Trackanglealpha" ,"Track angle alpha");
1402  simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha");
1403  }
1405  simplehitsMEs.meTrackanglebeta = bookME1D(ibooker,"TH1Trackanglebeta", "TH1Trackanglebeta" ,"Track angle beta");
1406  simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta");
1407  }
1409  simplehitsMEs.meResolxMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus1","TProfResolxMFTrackwidthProfile_WClus1","Profile of Resolution in MF vs track width for w=1");
1411  simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1",2);
1412  }
1414  simplehitsMEs.meResolxMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus2","TProfResolxMFTrackwidthProfile_WClus2","Profile of Resolution in MF vs track width for w=2");
1416  simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2",2);
1417 
1418  }
1420  simplehitsMEs.meResolxMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus3","TProfResolxMFTrackwidthProfile_WClus3","Profile of Resolution in MF vs track width for w=3");
1422  simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3",2);
1423  }
1425  simplehitsMEs.meResolxMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus4","TProfResolxMFTrackwidthProfile_WClus4","Profile of Resolution in MF vs track width for w=4");
1427  simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3",2);
1428  }
1430  simplehitsMEs.meResMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus1","TProfResMFTrackwidthProfile_WClus1","Profile of Residuals(x) in MF vs track width for w=1");
1432  simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1",2);
1433  }
1435  simplehitsMEs.meResMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus2","TProfResMFTrackwidthProfile_WClus2","Profile of Residuals(x) in MF vs track width for w=2");
1437  simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1438  }
1440  simplehitsMEs.meResMFTrackwidthProfileWClus21 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus21","TProfResMFTrackwidthProfile_WClus21","Profile of Residuals(x) in MF vs track width for w=2");
1442  simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1443  }
1445  simplehitsMEs.meResMFTrackwidthProfileWClus22 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus22","TProfResMFTrackwidthProfile_WClus22","Profile of Residuals(x) in MF vs track width for w=2");
1447  simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1448 
1449  }
1451  simplehitsMEs.meResMFTrackwidthProfileWClus23 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus23","TProfResMFTrackwidthProfile_WClus23","Profile of Residuals(x) in MF vs track width for w=2");
1453  simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1454  }
1456  simplehitsMEs.meResMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus3","TProfResMFTrackwidthProfile_WClus3","Profile of Residuals(x) in MF vs track width for w=3");
1458  simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3",2);
1459  }
1461  simplehitsMEs.meResMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus4","TProfResMFTrackwidthProfile_WClus4","Profile of Residuals(x) in MF vs track width for w=4");
1463  simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4",2);
1464  }
1466  simplehitsMEs.meResolxMFTrackwidthProfile = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile","TProfResolxMFTrackwidthProfile","Profile of Resolution in MF vs track width");
1468  simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)",2);
1469  }
1471  simplehitsMEs.meResolxMFTrackwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category1","TProfResolxMFTrackwidthProfile_Category1","Profile of Resolution in MF vs track width (Category 1)");
1473  simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1474  }
1476  simplehitsMEs.meResolxMFTrackwidthProfileCategory2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category2","TProfResolxMFTrackwidthProfile_Category2","Profile of Resolution in MF vs track width (Category 2)");
1478  simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2",2);
1479  }
1481  simplehitsMEs.meResolxMFTrackwidthProfileCategory3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category3","TProfResolxMFTrackwidthProfile_Category3","Profile of Resolution in MF vs track width (Category 3)");
1483  simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3",2);
1484  }
1486  simplehitsMEs.meResolxMFTrackwidthProfileCategory4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category4","TProfResolxMFTrackwidthProfile_Category4","Profile of Resolution in MF vs track width (Category 4)");
1488  simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4",2);
1489  }
1491  simplehitsMEs.meResolxMFClusterwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfile_Category1","TProfResolxMFClusterwidthProfile_Category1","Profile of Resolution in MF vs cluster width (Category 1)");
1493  simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1494  }
1496  simplehitsMEs.meResolxMFAngleProfile = bookMEProfile(ibooker,"TProfResolxMFAngleProfile","TProfResolxMFAngleProfile","Profile of Resolution in MF vs Track angle alpha");
1497  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha",1);
1498  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)",2);
1499  }
1500 
1501 
1502 }
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
MonitorElement * bookMEProfile(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripTrackingRecHitsValid::createStereoAndMatchedMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 1858 of file SiStripTrackingRecHitsValid.cc.

References bookME1D(), bookMEProfile(), SiStripHistoId::createHistoLayer(), diffTwoXMLs::label, layerswitchAdcSas, layerswitchCategorySas, layerswitchClusterwidthSas, layerswitchExpectedwidthSas, layerswitchPosxMatched, layerswitchPosyMatched, layerswitchPullLFSas, layerswitchPullMFSas, layerswitchPullTrackangleProfileSas, layerswitchPullTrackwidthProfileCategory1Sas, layerswitchPullTrackwidthProfileCategory2Sas, layerswitchPullTrackwidthProfileCategory3Sas, layerswitchPullTrackwidthProfileCategory4Sas, layerswitchPullTrackwidthProfileSas, layerswitchResLFSas, layerswitchResMFSas, layerswitchResolxLFSas, layerswitchResolxMatched, layerswitchResolxMFAngleProfileSas, layerswitchResolxMFClusterwidthProfileCategory1Sas, layerswitchResolxMFSas, layerswitchResolxMFTrackwidthProfileCategory1Sas, layerswitchResolxMFTrackwidthProfileCategory2Sas, layerswitchResolxMFTrackwidthProfileCategory3Sas, layerswitchResolxMFTrackwidthProfileCategory4Sas, layerswitchResolxMFTrackwidthProfileSas, layerswitchResolyMatched, layerswitchResxMatched, layerswitchResyMatched, layerswitchTrackanglebetaSas, layerswitchTrackangleSas, layerswitchTrackwidthSas, layerswitchWclusSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meAdcSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meCategorySas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meClusterwidthSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meExpectedwidthSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePosxMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePosyMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullLFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullMFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackangleProfileSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory1Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory2Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory3Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileCategory4Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullTrackwidthProfileSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullxMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::mePullyMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResLFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResMFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxLFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFAngleProfileSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFClusterwidthProfileCategory1Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory1Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory2Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory3Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileCategory4Sas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolxMFTrackwidthProfileSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResolyMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResxMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meResyMatched, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackanglebetaSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackangleSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meTrackwidthSas, SiStripTrackingRecHitsValid::StereoAndMatchedMEs::meWclusSas, MonitorElement::setAxisTitle(), and StereoAndMatchedMEsMap.

Referenced by createMEs().

1859 {
1860  SiStripHistoId hidmanager;
1861  StereoAndMatchedMEs stereoandmatchedMEs;
1862 
1863  stereoandmatchedMEs.meWclusSas = nullptr;
1864  stereoandmatchedMEs.meAdcSas = nullptr;
1865  stereoandmatchedMEs.meResolxLFSas = nullptr;
1866  stereoandmatchedMEs.meResolxMFSas = nullptr;
1867  stereoandmatchedMEs.meResLFSas = nullptr;
1868  stereoandmatchedMEs.meResMFSas = nullptr;
1869  stereoandmatchedMEs.mePullLFSas = nullptr;
1870  stereoandmatchedMEs.mePullMFSas = nullptr;
1871  stereoandmatchedMEs.meTrackangleSas = nullptr;
1872  stereoandmatchedMEs.meTrackanglebetaSas = nullptr;
1873  stereoandmatchedMEs.mePullTrackangleProfileSas = nullptr;
1874  stereoandmatchedMEs.meTrackwidthSas = nullptr;
1875  stereoandmatchedMEs.meExpectedwidthSas = nullptr;
1876  stereoandmatchedMEs.meClusterwidthSas = nullptr;
1877  stereoandmatchedMEs.meCategorySas = nullptr;
1878  stereoandmatchedMEs.mePullTrackwidthProfileSas = nullptr;
1879  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = nullptr;
1880  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = nullptr;
1881  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = nullptr;
1882  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = nullptr;
1883  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = nullptr;
1884  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = nullptr;
1885  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = nullptr;
1886  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = nullptr;
1887  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = nullptr;
1888  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = nullptr;
1889  stereoandmatchedMEs.meResolxMFAngleProfileSas = nullptr;
1890 
1891  stereoandmatchedMEs.mePosxMatched = nullptr;
1892  stereoandmatchedMEs.mePosyMatched = nullptr;
1893  stereoandmatchedMEs.meResolxMatched = nullptr;
1894  stereoandmatchedMEs.meResolyMatched = nullptr;
1895  stereoandmatchedMEs.meResxMatched = nullptr;
1896  stereoandmatchedMEs.meResyMatched = nullptr;
1897  stereoandmatchedMEs.mePullxMatched = nullptr;
1898  stereoandmatchedMEs.mePullyMatched = nullptr;
1899 
1900  //WclusSas
1901  if(layerswitchWclusSas) {
1902  stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,"TH1WclusSas", hidmanager.createHistoLayer("Wclus_sas","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1903  stereoandmatchedMEs.meWclusSas->setAxisTitle("Cluster Width [nr strips] (stereo) in "+ label);
1904  }
1905  //AdcSas
1906  if(layerswitchAdcSas) {
1907  stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,"TH1AdcSas", hidmanager.createHistoLayer("Adc_sas","layer",label,"").c_str() ,"RecHit Cluster Charge");
1908  stereoandmatchedMEs.meAdcSas->setAxisTitle("cluster charge [ADC] (stereo) in " + label);
1909  }
1910  //ResolxLFSas
1912  stereoandmatchedMEs.meResolxLFSas = bookME1D(ibooker,"TH1ResolxLFSas", hidmanager.createHistoLayer("Resolx_LF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1913  stereoandmatchedMEs.meResolxLFSas->setAxisTitle("resol(x) RecHit coord. (local frame) (stereo) in " + label);
1914  }
1915  //ResolxMFSas
1917  stereoandmatchedMEs.meResolxMFSas = bookME1D(ibooker,"TH1ResolxMFSas", hidmanager.createHistoLayer("Resolx_MF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1918  stereoandmatchedMEs.meResolxMFSas->setAxisTitle("resol(x) RecHit coord. (measurement frame) (stereo) in " + label);
1919  }
1920  //ResLFSas
1921  if(layerswitchResLFSas) {
1922  stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,"TH1ResLFSas", hidmanager.createHistoLayer("Res_LF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1923  stereoandmatchedMEs.meResLFSas->setAxisTitle("Hit Residuals(x) (local frame) (stereo) in " + label);
1924  }
1925  //ResMFSas
1926  if(layerswitchResMFSas) {
1927  stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,"TH1ResMFSas", hidmanager.createHistoLayer("Res_MF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1928  stereoandmatchedMEs.meResMFSas->setAxisTitle("Hit Residuals(x) (stereo) in " + label);
1929  }
1930  //PullLFSas
1931  if(layerswitchPullLFSas) {
1932  stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,"TH1PullLFSas", hidmanager.createHistoLayer("Pull_LF_sas","layer",label,"").c_str() ,"Pull distribution");
1933  stereoandmatchedMEs.mePullLFSas->setAxisTitle("Pull distribution (local frame) (stereo) in " + label);
1934  }
1935  //PullMFSas
1936  if(layerswitchPullMFSas) {
1937  stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,"TH1PullMFSas", hidmanager.createHistoLayer("Pull_MF_sas","layer",label,"").c_str() ,"Pull distribution");
1938  stereoandmatchedMEs.mePullMFSas->setAxisTitle("Pull distribution (measurement frame) (stereo) in " + label);
1939  }
1940 
1942  stereoandmatchedMEs.meTrackangleSas = bookME1D(ibooker,"TH1TrackangleSas",hidmanager.createHistoLayer("Track_angle_Sas","layer",label,"").c_str() ,"Track angle");
1943  stereoandmatchedMEs.meTrackangleSas->setAxisTitle("Track angle (stereo) in " + label);
1944  }
1946  stereoandmatchedMEs.meTrackanglebetaSas = bookME1D(ibooker,"TH1TrackanglebetaSas",hidmanager.createHistoLayer("Track_angle_beta_Sas","layer",label,"").c_str() ,"Track angle beta");
1947  stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle("Track angle beta (stereo) in " + label);
1948  }
1950  stereoandmatchedMEs.mePullTrackangleProfileSas = bookMEProfile(ibooker,"TProfPullTrackangleProfileSas",hidmanager.createHistoLayer("Pull_Track_angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle (stereo)");
1951  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("track angle (stereo) in " + label,1);
1952  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle("Pull in MF (stereo) in " + label,2);
1953  }
1955  stereoandmatchedMEs.meTrackwidthSas = bookME1D(ibooker,"TH1TrackwidthSas",hidmanager.createHistoLayer("Track_width_Sas","layer",label,"").c_str() ,"Track width");
1956  stereoandmatchedMEs.meTrackwidthSas->setAxisTitle("Track width (stereo) in " + label);
1957  }
1959  stereoandmatchedMEs.meExpectedwidthSas = bookME1D(ibooker,"TH1ExpectedwidthSas",hidmanager.createHistoLayer("Expected_width_Sas","layer",label,"").c_str() ,"Expected width");
1960  stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle("Expected width (stereo) in " + label);
1961  }
1963  stereoandmatchedMEs.meClusterwidthSas = bookME1D(ibooker,"TH1ClusterwidthSas",hidmanager.createHistoLayer("Cluster_width_Sas","layer",label,"").c_str() ,"Cluster width");
1964  stereoandmatchedMEs.meClusterwidthSas->setAxisTitle("Cluster width (stereo) in " + label);
1965  }
1967  stereoandmatchedMEs.meCategorySas = bookME1D(ibooker,"TH1CategorySas",hidmanager.createHistoLayer("Category_Sas","layer",label,"").c_str() ,"Category");
1968  stereoandmatchedMEs.meCategorySas->setAxisTitle("Category (stereo) in " + label);
1969  }
1971  stereoandmatchedMEs.mePullTrackwidthProfileSas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileSas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (stereo)");
1972  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label,1);
1973  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle("Pull in MF (stereo) in " + label,2);
1974  }
1976  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 1) (stereo)");
1977  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle("track width (Category 1) (stereo) in " + label,1);
1978  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle("Pull in MF (Category 1) (stereo) in " + label,2);
1979  }
1981  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 2) (stereo)");
1982  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle("track width (Category 2) (stereo) in " + label,1);
1983  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle("Pull in MF (Category 2) (stereo) in " + label,2);
1984  }
1986  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 3) (stereo)");
1987  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle("track width (Category 3) (stereo) in " + label,1);
1988  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle("Pull in MF (Category 3) (stereo) in " + label,2);
1989  }
1991  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = bookMEProfile(ibooker,"TProfPullTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("Pull_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Pull in MF vs track width (Category 4) (stereo)");
1992  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle("track width (Category 4) (stereo) in " + label,1);
1993  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle("Pull in MF (Category 4) (stereo) in " + label,2);
1994  }
1996  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileSas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (stereo)");
1997  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("track width (stereo) in " + label,1);
1998  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label,2);
1999  }
2001  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 1) (stereo)");
2002  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle(" track width (Category 1) (stereo) in " + label,1);
2003  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle(" Resolution in MF (Category 1) (stereo) in " + label,2);
2004  }
2006  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory2Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category2_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 2) (stereo)");
2007  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle(" track width (Category 2) (stereo) in " + label,1);
2008  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle(" Resolution in MF (Category 2) (stereo) in " + label,2);
2009  }
2011  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory3Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category3_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 3) (stereo)");
2012  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle(" track width (Category 3) (stereo) in " + label,1);
2013  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle(" Resolution in MF (Category 3) (stereo) in " + label,2);
2014  }
2016  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileCategory4Sas",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Category4_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width (Category 4) (stereo)");
2017  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle(" track width (Category 4) (stereo) in " + label,1);
2018  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle(" Resolution in MF (Category 4) (stereo) in " + label,2);
2019  }
2021  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfileCategory1Sas",hidmanager.createHistoLayer("ResolxMF_Cluster_width_Profile_Category1_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs cluster width (Category 1) (stereo)");
2022  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle("cluster width (Category 1) (stereo) in " + label,1);
2023  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle(" Resolution in MF (Category 1) (stereo) in " + label,2);
2024  }
2026  stereoandmatchedMEs.meResolxMFAngleProfileSas = bookMEProfile(ibooker,"TProfResolxMFAngleProfileSas",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle (stereo)");
2027  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("track angle (stereo) in " + label,1);
2028  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle("Resolution in MF (stereo) in " + label,2);
2029  }
2030  //PosxMatched
2032  stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord.");
2033  stereoandmatchedMEs.mePosxMatched->setAxisTitle("x coord. matched RecHit (local frame) in " + label);
2034  }
2035  //PosyMatched
2037  stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord.");
2038  stereoandmatchedMEs.mePosyMatched->setAxisTitle("y coord. matched RecHit (local frame) in " + label);
2039  }
2040  //ResolxMatched
2042  stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord.");
2043  stereoandmatchedMEs.meResolxMatched->setAxisTitle("resol(x) coord. matched RecHit (local frame) in " + label);
2044  }
2045  //ResolyMatched
2047  stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord.");
2048  stereoandmatchedMEs.meResolyMatched->setAxisTitle("resol(y) coord. matched RecHit (local frame) in " + label);
2049  }
2050  //ResxMatched
2052  stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2053  stereoandmatchedMEs.meResxMatched->setAxisTitle("Residuals(x) in matched RecHit in " + label);
2054  }
2055  //ResyMatched
2057  stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2058  stereoandmatchedMEs.meResyMatched->setAxisTitle("Res(y) in matched RecHit in " + label);
2059  }
2060 
2061  StereoAndMatchedMEsMap[label]=stereoandmatchedMEs;
2062 
2063 }
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
MonitorElement * bookMEProfile(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName, const char *HistoTitle)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
LocalVector SiStripTrackingRecHitsValid::driftDirection ( const StripGeomDetUnit det) const
private
void SiStripTrackingRecHitsValid::endJob ( void  )
protected

Definition at line 450 of file SiStripTrackingRecHitsValid.cc.

References dbe_, outputFileName, outputMEsInRootFile, and runStandalone.

450  {
451 
452  //Only in standalone mode save local root file
454 
455 }
void SiStripTrackingRecHitsValid::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 417 of file SiStripTrackingRecHitsValid.h.

References MonitorElement::Fill().

Referenced by analyze().

417 {if (ME!=nullptr)ME->Fill(value1);}
void Fill(long long x)
void SiStripTrackingRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate
void SiStripTrackingRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 419 of file SiStripTrackingRecHitsValid.h.

References MonitorElement::Fill().

void SiStripTrackingRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 420 of file SiStripTrackingRecHitsValid.h.

References MonitorElement::Fill().

420 {if (ME!=nullptr)ME->Fill(value1,value2,value3,value4);}
void Fill(long long x)
MonitorElement* SiStripTrackingRecHitsValid::Fit_SliceY ( TH2F *  Histo2D)
private
std::pair< LocalPoint, LocalVector > SiStripTrackingRecHitsValid::projectHit ( const PSimHit hit,
const StripGeomDetUnit stripDet,
const BoundPlane plane 
)
private

Definition at line 884 of file SiStripTrackingRecHitsValid.cc.

References funct::cos(), dir, PSimHit::localDirection(), PSimHit::localPosition(), Scenarios_cff::scale, funct::sin(), StripGeomDetUnit::specificTopology(), StripTopology::strip(), StripTopology::stripAngle(), GeomDet::surface(), Surface::toGlobal(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by rechitanalysis_matched().

889 {
890  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
891  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
892 
893  const StripTopology & topol = stripDet->specificTopology();
894  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
895  LocalPoint localHit = plane.toLocal(globalpos);
896  //track direction
897  LocalVector locdir = hit.localDirection();
898  //rotate track in new frame
899 
900  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
901  LocalVector dir = plane.toLocal(globaldir);
902  float scale = -localHit.z() / dir.z();
903 
904  LocalPoint projectedPos = localHit + scale * dir;
905 
906  // std::cout << "projectedPos " << projectedPos << std::endl;
907 
908  float selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
909 
910  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
911 
912  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
913 
914  return std::pair < LocalPoint, LocalVector > (projectedPos, localStripDir);
915 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
virtual float strip(const LocalPoint &) const =0
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
Local3DPoint localPosition() const
Definition: PSimHit.h:44
virtual float stripAngle(float strip) const =0
T z() const
Definition: PV3DBase.h:64
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
LocalVector localDirection() const
Obsolete. Same as momentumAtEntry().unit(), for backward compatibility.
Definition: PSimHit.h:52
dbl *** dir
Definition: mlp_gen.cc:35
void SiStripTrackingRecHitsValid::rechitanalysis ( LocalVector  ldir,
const TrackingRecHit rechit,
const StripGeomDetUnit stripdet,
edm::ESHandle< StripClusterParameterEstimator stripcpe,
TrackerHitAssociator associate,
bool  simplehit1or2D 
)
private

Definition at line 1088 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), TrackerHitAssociator::associateHit(), Surface::bounds(), SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, SiStripRecHit2D::cluster(), shallow::drift(), StripClusterParameterEstimator::driftDirection(), relativeConstraints::error, SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, createfilelist::int, PSimHit::localPosition(), TrackingRecHit::localPosition(), TrackingRecHit::localPositionError(), funct::m, matched, SiStripPI::max, position, SiStripTrackingRecHitsValid::RecHitProperties::pullx, SiStripTrackingRecHitsValid::RecHitProperties::pullxMF, SiStripTrackingRecHitsValid::RecHitProperties::pully, rechitpro, SiStripTrackingRecHitsValid::RecHitProperties::resolxx, SiStripTrackingRecHitsValid::RecHitProperties::resolxxMF, SiStripTrackingRecHitsValid::RecHitProperties::resolxy, SiStripTrackingRecHitsValid::RecHitProperties::resolyy, SiStripTrackingRecHitsValid::RecHitProperties::resx, SiStripTrackingRecHitsValid::RecHitProperties::resxMF, SiStripTrackingRecHitsValid::RecHitProperties::resy, mathSSE::sqrt(), GeomDet::surface(), funct::tan(), Bounds::thickness(), SiStripTrackingRecHitsValid::RecHitProperties::thickness, StripGeomDetUnit::topology(), SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta, SiStripTrackingRecHitsValid::RecHitProperties::trackwidth, MeasurementError::uu(), x, PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), SiStripTrackingRecHitsValid::RecHitProperties::x, LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), SiStripTrackingRecHitsValid::RecHitProperties::y, LocalError::yy(), PV3DBase< T, PVType, FrameType >::z(), and SiStripTrackingRecHitsValid::RecHitProperties::z.

Referenced by analyze().

1088  {
1089 
1090  rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.resxMF = -999999.;
1091  rechitpro.pullx = -999999.; rechitpro.pully = -999999.; rechitpro.pullxMF = -999999.;
1092 
1093  //If simplehit1or2D is true we are dealing with hit1d, false is for hit2d
1094  const SiStripRecHit2D *hit2d = dynamic_cast < const SiStripRecHit2D * >(rechit);
1095  const SiStripRecHit1D *hit1d = dynamic_cast < const SiStripRecHit1D * >(rechit);
1096 
1097  const StripTopology & topol = (const StripTopology &) stripdet->topology();
1098 
1099  LocalPoint position = rechit->localPosition();
1100  LocalError error = rechit->localPositionError();
1101  MeasurementPoint Mposition = topol.measurementPosition(position);
1102  MeasurementError Merror = topol.measurementError(position,error);
1103 
1104  const LocalVector& trackdirection = ldir;
1105  rechitpro.trackangle = std::atan(trackdirection.x() / trackdirection.z()) * TMath::RadToDeg();
1106  rechitpro.trackanglebeta = std::atan(trackdirection.y() / trackdirection.z()) * TMath::RadToDeg();
1107 
1108  LocalVector drift = stripcpe->driftDirection(stripdet);
1109  rechitpro.thickness = stripdet->surface().bounds().thickness();
1110  float pitch = topol.localPitch(position);
1111  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1112  float tanalphaL = drift.x() / drift.z();
1113  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1114  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1115  int Sp = int (position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1116  int Sm = int (position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1117  rechitpro.expectedwidth = 1 + Sp - Sm;
1118 
1119  int totcharge=0;
1120  if(simplehit1or2D){
1122  clust1d = hit1d->cluster();
1123  const auto & amplitudes1d = clust1d->amplitudes();
1124  rechitpro.clusiz = amplitudes1d.size();
1125  for(size_t ia=0; ia<amplitudes1d.size();++ia){
1126  totcharge+=amplitudes1d[ia];
1127  }
1128  } else {
1130  clust2d = hit2d->cluster();
1131  const auto & amplitudes2d = clust2d->amplitudes();
1132  rechitpro.clusiz = amplitudes2d.size();
1133  for(size_t ia=0; ia<amplitudes2d.size();++ia){
1134  totcharge+=amplitudes2d[ia];
1135  }
1136  }
1137 
1138  rechitpro.x = position.x();
1139  rechitpro.y = position.y();
1140  rechitpro.z = position.z();
1141  rechitpro.resolxx = error.xx();
1142  rechitpro.resolxy = error.xy();
1143  rechitpro.resolyy = error.yy();
1144  rechitpro.resolxxMF = Merror.uu();
1145  rechitpro.cluchg = totcharge;
1146 
1148  rechitpro.category = 1;
1149  } else if (rechitpro.expectedwidth == 1) {
1150  rechitpro.category = 2;
1151  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1152  rechitpro.category = 3;
1153  } else {
1154  rechitpro.category = 4;
1155  }
1156 
1157  matched.clear();
1158  float mindist = std::numeric_limits<float>::max();
1159  float dist = std::numeric_limits<float>::max();
1160  PSimHit* closest = nullptr;
1161 
1162  if(simplehit1or2D){
1163  matched = associate.associateHit(*hit1d);
1164  if(!matched.empty()){
1165  for(auto &m : matched ){
1166  dist = abs((hit1d)->localPosition().x() - m.localPosition().x());
1167  if(dist<mindist){
1168  mindist = dist;
1169  closest = &m;
1170  }
1171  }
1172  float closestX = closest->localPosition().x();
1173  rechitpro.resx = rechitpro.x - closestX;
1174  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1175  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1176  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1177  }
1178  } else {
1179  matched = associate.associateHit(*hit2d);
1180  if(!matched.empty()){
1181  for(auto &m : matched ){
1182  dist = abs((hit2d)->localPosition().x() - m.localPosition().x());
1183  if(dist<mindist){
1184  mindist = dist;
1185  closest = &m;
1186  }
1187  }
1188  float closestX = closest->localPosition().x();
1189  rechitpro.resx = rechitpro.x - closestX;
1190  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1191  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1192  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1193  }
1194  }
1195 }
float xx() const
Definition: LocalError.h:24
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:38
T y() const
Definition: PV3DBase.h:63
const Bounds & bounds() const
Definition: Surface.h:120
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
Local3DPoint localPosition() const
Definition: PSimHit.h:44
T sqrt(T t)
Definition: SSEVec.h:18
T z() const
Definition: PV3DBase.h:64
float uu() const
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ClusterRef cluster() const
virtual LocalPoint localPosition() const =0
const Topology & topology() const override
Returns a reference to the strip proxy topology.
virtual float thickness() const =0
static int position[264][3]
Definition: ReadPGInfo.cc:509
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
virtual LocalVector driftDirection(const StripGeomDetUnit *) const =0
virtual LocalError localPositionError() const =0
T x() const
Definition: PV2DBase.h:45
T x() const
Definition: PV3DBase.h:62
void SiStripTrackingRecHitsValid::rechitanalysis_matched ( LocalVector  ldir,
const TrackingRecHit rechit,
const GluedGeomDet gluedDet,
TrackerHitAssociator associate,
edm::ESHandle< StripClusterParameterEstimator stripcpe,
const MatchStatus  matchedmonorstereo 
)
private

Definition at line 917 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), TrackerHitAssociator::associateHit(), Surface::bounds(), SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, SiStripRecHit2D::cluster(), shallow::drift(), StripClusterParameterEstimator::driftDirection(), relativeConstraints::error, SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, createfilelist::int, StripTopology::localPitch(), PSimHit::localPosition(), BaseTrackerRecHit::localPosition(), TrackingRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), TrackingRecHit::localPositionError(), funct::m, matched, SiStripPI::max, Topology::measurementError(), Topology::measurementPosition(), GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), monoHit, position, projectHit(), SiStripTrackingRecHitsValid::RecHitProperties::pullx, SiStripTrackingRecHitsValid::RecHitProperties::pullxMF, SiStripTrackingRecHitsValid::RecHitProperties::pully, rechitpro, SiStripTrackingRecHitsValid::RecHitProperties::resolxx, SiStripTrackingRecHitsValid::RecHitProperties::resolxxMF, SiStripTrackingRecHitsValid::RecHitProperties::resolxy, SiStripTrackingRecHitsValid::RecHitProperties::resolyy, SiStripTrackingRecHitsValid::RecHitProperties::resx, SiStripTrackingRecHitsValid::RecHitProperties::resxMF, SiStripTrackingRecHitsValid::RecHitProperties::resy, alignCSCRings::s, mathSSE::sqrt(), GluedGeomDet::stereoDet(), SiStripMatchedRecHit2D::stereoHit(), stereoHit, GeomDet::surface(), funct::tan(), Bounds::thickness(), SiStripTrackingRecHitsValid::RecHitProperties::thickness, GeomDet::toGlobal(), GeomDet::toLocal(), StripGeomDetUnit::topology(), SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta, SiStripTrackingRecHitsValid::RecHitProperties::trackwidth, MeasurementError::uu(), x, PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), SiStripTrackingRecHitsValid::RecHitProperties::x, LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), SiStripTrackingRecHitsValid::RecHitProperties::y, LocalError::yy(), PV3DBase< T, PVType, FrameType >::z(), and SiStripTrackingRecHitsValid::RecHitProperties::z.

Referenced by analyze().

917  {
918 
919  rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.resxMF = -999999.;
920  rechitpro.pullx = -999999.; rechitpro.pully = -999999.; rechitpro.pullxMF = -999999.; rechitpro.trackangle = -999999.; rechitpro.trackanglebeta = -999999.;
921 
922  const GeomDetUnit *monodet = gluedDet->monoDet();
923  const GeomDetUnit *stereodet = gluedDet->stereoDet();
924  //We initialized it to monoHit case because it complains that it may be uninitialized
925  //and it will change value in the stereoHit case. The matched case do not use this
926  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (monodet) ;
927 
928  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast < const SiStripMatchedRecHit2D * > (rechit);
929  const SiStripRecHit2D *monohit = nullptr;
930  const SiStripRecHit2D *stereohit = nullptr;
932 
933  if (matchedmonorstereo == MatchStatus::monoHit){
934  auto hm = matchedhit->monoHit();
935  monohit = &hm;
936  stripdet = (const StripGeomDetUnit *) (monodet);
937  } else if (matchedmonorstereo == MatchStatus::stereoHit){
938  auto s = matchedhit->stereoHit();
939  stereohit = &s;
940  stripdet = (const StripGeomDetUnit *) (stereodet);
941  }
942  //if(matchedhit) cout<<"manganomatchedhit"<<endl;
943  //if(hit) cout<<"manganosimplehit"<<endl;
944  //if (hit && matchedhit) cout<<"manganosimpleandmatchedhit"<<endl;
945  const StripTopology & topol = (const StripTopology &) stripdet->topology();
946 
947  const LocalVector& trackdirection = ldir;
948 
949  GlobalVector gtrkdir = gluedDet->toGlobal(trackdirection);
950  LocalVector monotkdir = monodet->toLocal(gtrkdir);
951  LocalVector stereotkdir = stereodet->toLocal(gtrkdir);
952 
955  MeasurementPoint Mposition;
956  MeasurementError Merror;
957 
958  if (matchedmonorstereo == MatchStatus::matched){
959  position=rechit->localPosition();
960  error=rechit->localPositionError();
961  } else if(matchedmonorstereo == MatchStatus::monoHit){
962  position = monohit->localPosition();
963  error = monohit->localPositionError();
964  Mposition = topol.measurementPosition(position);
965  Merror = topol.measurementError(position, error);
966  if (monotkdir.z()) {
967  rechitpro.trackangle = atan(monotkdir.x() / monotkdir.z()) * TMath::RadToDeg();
968  rechitpro.trackanglebeta = atan(monotkdir.y() / monotkdir.z()) * TMath::RadToDeg();
969  }
970  clust = monohit->cluster();
971  } else if (matchedmonorstereo == MatchStatus::stereoHit){
972  position = stereohit->localPosition();
973  error = stereohit->localPositionError();
974  Mposition = topol.measurementPosition(position);
975  Merror = topol.measurementError(position, error);
976  if (stereotkdir.z()) {
977  rechitpro.trackangle = atan(stereotkdir.x() / stereotkdir.z()) * TMath::RadToDeg();
978  rechitpro.trackanglebeta = atan(stereotkdir.y() / stereotkdir.z()) * TMath::RadToDeg();
979  }
980  clust = stereohit->cluster();
981  }
982 
983  LocalVector drift = stripcpe->driftDirection(stripdet);
984  rechitpro.thickness = stripdet->surface().bounds().thickness();
985  float pitch = topol.localPitch(position);
986  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
987  float tanalphaL = drift.x() / drift.z();
988  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
989  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
990  int Sp = int (position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
991  int Sm = int (position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
992  rechitpro.expectedwidth = 1 + Sp - Sm;
993 
994  const auto & amplitudes=clust->amplitudes();
995  rechitpro.clusiz = amplitudes.size();
996  int totcharge=0;
997  for(size_t ia=0; ia<amplitudes.size();++ia){
998  totcharge+=amplitudes[ia];
999  }
1000 
1001  rechitpro.x = position.x();
1002  rechitpro.y = position.y();
1003  rechitpro.z = position.z();
1004  rechitpro.resolxx = error.xx();
1005  rechitpro.resolxy = error.xy();
1006  rechitpro.resolyy = error.yy();
1007  rechitpro.resolxxMF = Merror.uu();
1008  rechitpro.cluchg = totcharge;
1009 
1011  rechitpro.category = 1;
1012  } else if (rechitpro.expectedwidth == 1) {
1013  rechitpro.category = 2;
1014  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1015  rechitpro.category = 3;
1016  } else {
1017  rechitpro.category = 4;
1018  }
1019 
1020  if(matchedmonorstereo == MatchStatus::matched){matched.clear();matched = associate.associateHit(*matchedhit);}
1021  else if(matchedmonorstereo == MatchStatus::monoHit){matched.clear();matched = associate.associateHit(*monohit);}
1022  else if(matchedmonorstereo == MatchStatus::stereoHit){matched.clear();matched = associate.associateHit(*stereohit);}
1023 
1024  if(!matched.empty()){
1025  float mindist = std::numeric_limits<float>::max();
1026  float dist = std::numeric_limits<float>::max();
1027  float distx = std::numeric_limits<float>::max();
1028  float disty = std::numeric_limits<float>::max();
1029  std::pair<LocalPoint,LocalVector> closestPair;
1030  PSimHit* closest = nullptr;
1031 
1032  const StripGeomDetUnit* partnerstripdet = static_cast<const StripGeomDetUnit*>(gluedDet->stereoDet());
1033  std::pair<LocalPoint,LocalVector> hitPair;
1034 
1035  if (matchedmonorstereo ==MatchStatus::matched) {
1036  for(auto &m : matched){
1037  //project simhit;
1038  hitPair= projectHit(m,partnerstripdet,gluedDet->surface());
1039  distx = fabs(rechitpro.x - hitPair.first.x());
1040  disty = fabs(rechitpro.y - hitPair.first.y());
1041  dist = sqrt(distx*distx+disty*disty);
1042  if(dist<mindist){
1043  mindist = dist;
1044  closestPair = hitPair;
1045  closest = &m;
1046  }
1047  }
1048  float closestX = closestPair.first.x();
1049  float closestY = closestPair.first.y();
1050  rechitpro.resx = rechitpro.x - closestX;
1051  rechitpro.resy = rechitpro.y - closestPair.first.y();
1052  rechitpro.pullx = ((rechit)->localPosition().x() - closestX) / sqrt(error.xx());
1053  rechitpro.pully = ((rechit)->localPosition().y() - closestY) / sqrt(error.yy());
1054  } else if(matchedmonorstereo == MatchStatus::monoHit){
1055  for(auto &m : matched ){
1056  //project simhit;
1057  dist = abs((monohit)->localPosition().x() - m.localPosition().x());
1058  if(dist<mindist){
1059  mindist = dist;
1060  closestPair = hitPair;
1061  closest = &m;
1062  }
1063  }
1064  float closestX = closest->localPosition().x();
1065  rechitpro.resx = rechitpro.x - closestX;
1066  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1067  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1068  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1069  } else if(matchedmonorstereo == MatchStatus::stereoHit){
1070  for(auto &m : matched){
1071  //project simhit;
1072  dist = abs((stereohit)->localPosition().x() - m.localPosition().x());
1073  if(dist<mindist){
1074  mindist = dist;
1075  closestPair = hitPair;
1076  closest = &m;
1077  }
1078  }
1079  float closestX = closest->localPosition().x();
1080  rechitpro.resx = rechitpro.x - closestX;
1081  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest->localPosition())).x();
1082  rechitpro.pullx = (rechit->localPosition().x() - closestX) / sqrt(error.xx());
1083  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1084  }
1085  }
1086 }
float xx() const
Definition: LocalError.h:24
LocalError localPositionError() const final
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:20
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:38
T y() const
Definition: PV3DBase.h:63
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:69
const Bounds & bounds() const
Definition: Surface.h:120
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
Local3DPoint localPosition() const
Definition: PSimHit.h:44
T sqrt(T t)
Definition: SSEVec.h:18
T z() const
Definition: PV3DBase.h:64
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
float uu() const
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ClusterRef cluster() const
virtual LocalPoint localPosition() const =0
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
const Topology & topology() const override
Returns a reference to the strip proxy topology.
SiStripRecHit2D stereoHit() const
virtual float thickness() const =0
virtual float localPitch(const LocalPoint &) const =0
SiStripRecHit2D monoHit() const
static int position[264][3]
Definition: ReadPGInfo.cc:509
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
LocalPoint localPosition() const final
virtual LocalVector driftDirection(const StripGeomDetUnit *) const =0
virtual LocalError localPositionError() const =0
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
T x() const
Definition: PV2DBase.h:45
T x() const
Definition: PV3DBase.h:62
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21

Member Data Documentation

edm::ParameterSet SiStripTrackingRecHitsValid::conf_
private
DQMStore* SiStripTrackingRecHitsValid::dbe_
private

Definition at line 263 of file SiStripTrackingRecHitsValid.h.

Referenced by endJob().

std::map<std::string, std::vector< uint32_t > > SiStripTrackingRecHitsValid::LayerDetMap
private

Definition at line 398 of file SiStripTrackingRecHitsValid.h.

Referenced by createMEs().

std::map<std::string, LayerMEs> SiStripTrackingRecHitsValid::LayerMEsMap
private

Definition at line 396 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), createLayerMEs(), and createMEs().

bool SiStripTrackingRecHitsValid::layerswitchAdcRphi
private

Definition at line 302 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchAdcSas
private
bool SiStripTrackingRecHitsValid::layerswitchCategory
private
bool SiStripTrackingRecHitsValid::layerswitchCategoryRphi
private

Definition at line 329 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchCategorySas
private
bool SiStripTrackingRecHitsValid::layerswitchClusterwidth
private
bool SiStripTrackingRecHitsValid::layerswitchClusterwidthRphi
private

Definition at line 328 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchClusterwidthSas
private
bool SiStripTrackingRecHitsValid::layerswitchExpectedwidth
private
bool SiStripTrackingRecHitsValid::layerswitchExpectedwidthRphi
private

Definition at line 327 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchExpectedwidthSas
private
bool SiStripTrackingRecHitsValid::layerswitchPosxMatched
private
bool SiStripTrackingRecHitsValid::layerswitchPosyMatched
private
bool SiStripTrackingRecHitsValid::layerswitchPull_LF
private
bool SiStripTrackingRecHitsValid::layerswitchPull_MF
private
bool SiStripTrackingRecHitsValid::layerswitchPullLFRphi
private

Definition at line 315 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullLFSas
private
bool SiStripTrackingRecHitsValid::layerswitchPullMFRphi
private

Definition at line 316 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus1
private

Definition at line 317 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus2
private

Definition at line 318 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus3
private

Definition at line 319 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullMFRphiwclus4
private

Definition at line 320 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullMFSas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackangle2DRphi
private

Definition at line 325 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackangleProfileRphi
private

Definition at line 324 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackangleProfileSas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory1Rphi
private

Definition at line 335 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory1Sas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory2Rphi
private

Definition at line 336 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory2Sas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory3Rphi
private

Definition at line 337 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory3Sas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory4Rphi
private

Definition at line 338 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileCategory4Sas
private
bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphi
private

Definition at line 330 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus1
private

Definition at line 331 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus2
private

Definition at line 332 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus3
private

Definition at line 333 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileRphiwclus4
private

Definition at line 334 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullTrackwidthProfileSas
private
bool SiStripTrackingRecHitsValid::layerswitchPullxMatched
private

Definition at line 391 of file SiStripTrackingRecHitsValid.h.

Referenced by SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchPullyMatched
private

Definition at line 392 of file SiStripTrackingRecHitsValid.h.

Referenced by SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus1
private

Definition at line 354 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus2
private

Definition at line 355 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus3
private

Definition at line 356 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchrapidityResProfilewclus4
private

Definition at line 357 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchRes_LF
private
bool SiStripTrackingRecHitsValid::layerswitchRes_MF
private
bool SiStripTrackingRecHitsValid::layerswitchResLFRphi
private

Definition at line 309 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResLFSas
private
bool SiStripTrackingRecHitsValid::layerswitchResMFRphi
private

Definition at line 310 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus1
private

Definition at line 311 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus2
private

Definition at line 312 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus3
private

Definition at line 313 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFRphiwclus4
private

Definition at line 314 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFSas
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus1
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus2
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus21
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus22
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus23
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus3
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfile_WClus4
private
bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus1Rphi
private

Definition at line 344 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus2Rphi
private

Definition at line 345 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus3Rphi
private

Definition at line 346 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResMFTrackwidthProfileWclus4Rphi
private

Definition at line 347 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolx_LF
private
bool SiStripTrackingRecHitsValid::layerswitchResolx_MF
private
bool SiStripTrackingRecHitsValid::layerswitchResolxLFRphi
private

Definition at line 303 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxLFSas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMatched
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfile
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfileRphi
private

Definition at line 352 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFAngleProfileSas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfile_Category1
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfileCategory1Rphi
private

Definition at line 353 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFClusterwidthProfileCategory1Sas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFRphi
private

Definition at line 304 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus1
private

Definition at line 305 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus2
private

Definition at line 306 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus3
private

Definition at line 307 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFRphiwclus4
private

Definition at line 308 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFSas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category1
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category2
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category3
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_Category4
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus1
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus2
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus3
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfile_WClus4
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory1Rphi
private

Definition at line 348 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory1Sas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory2Rphi
private

Definition at line 349 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory2Sas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory3Rphi
private

Definition at line 350 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory3Sas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory4Rphi
private

Definition at line 351 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileCategory4Sas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileRphi
private

Definition at line 339 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileSas
private
bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus1Rphi
private

Definition at line 340 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus2Rphi
private

Definition at line 341 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus3Rphi
private

Definition at line 342 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolxMFTrackwidthProfileWclus4Rphi
private

Definition at line 343 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchResolyMatched
private
bool SiStripTrackingRecHitsValid::layerswitchResxMatched
private
bool SiStripTrackingRecHitsValid::layerswitchResyMatched
private
bool SiStripTrackingRecHitsValid::layerswitchTrackangle2Rphi
private

Definition at line 323 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchTrackanglealpha
private
bool SiStripTrackingRecHitsValid::layerswitchTrackanglebeta
private
bool SiStripTrackingRecHitsValid::layerswitchTrackanglebetaRphi
private

Definition at line 322 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchTrackanglebetaSas
private
bool SiStripTrackingRecHitsValid::layerswitchTrackangleRphi
private

Definition at line 321 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchTrackangleSas
private
bool SiStripTrackingRecHitsValid::layerswitchTrackwidth
private
bool SiStripTrackingRecHitsValid::layerswitchTrackwidthRphi
private

Definition at line 326 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchTrackwidthSas
private
bool SiStripTrackingRecHitsValid::layerswitchWclusRphi
private

Definition at line 301 of file SiStripTrackingRecHitsValid.h.

Referenced by createLayerMEs(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::layerswitchWclusSas
private
unsigned long long SiStripTrackingRecHitsValid::m_cacheID_
private

Definition at line 425 of file SiStripTrackingRecHitsValid.h.

Referenced by bookHistograms().

const MagneticField* SiStripTrackingRecHitsValid::magfield2_
protected

Definition at line 257 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

std::vector<PSimHit> SiStripTrackingRecHitsValid::matched
private

Definition at line 395 of file SiStripTrackingRecHitsValid.h.

Referenced by rechitanalysis(), and rechitanalysis_matched().

std::string SiStripTrackingRecHitsValid::outputFileName
private

Definition at line 266 of file SiStripTrackingRecHitsValid.h.

Referenced by endJob(), and SiStripTrackingRecHitsValid().

bool SiStripTrackingRecHitsValid::outputMEsInRootFile
private

Definition at line 265 of file SiStripTrackingRecHitsValid.h.

Referenced by endJob(), and SiStripTrackingRecHitsValid().

edm::ParameterSet SiStripTrackingRecHitsValid::Parameters
private

Definition at line 426 of file SiStripTrackingRecHitsValid.h.

RecHitProperties SiStripTrackingRecHitsValid::rechitpro
private

Definition at line 428 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), rechitanalysis(), and rechitanalysis_matched().

bool SiStripTrackingRecHitsValid::runStandalone
private

Definition at line 264 of file SiStripTrackingRecHitsValid.h.

Referenced by endJob(), and SiStripTrackingRecHitsValid().

SimpleHitsMEs SiStripTrackingRecHitsValid::simplehitsMEs
private

Definition at line 394 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), and createSimpleHitsMEs().

edm::ESHandle<SiStripDetCabling> SiStripTrackingRecHitsValid::SiStripDetCabling_
private

Definition at line 401 of file SiStripTrackingRecHitsValid.h.

Referenced by createMEs().

std::map<std::string, std::vector< uint32_t > > SiStripTrackingRecHitsValid::StereoAndMatchedDetMap
private

Definition at line 399 of file SiStripTrackingRecHitsValid.h.

Referenced by createMEs().

std::map<std::string, StereoAndMatchedMEs> SiStripTrackingRecHitsValid::StereoAndMatchedMEsMap
private

Definition at line 397 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), createMEs(), and createStereoAndMatchedMEs().

std::string SiStripTrackingRecHitsValid::topFolderName_
private

Definition at line 268 of file SiStripTrackingRecHitsValid.h.

Referenced by createMEs(), and SiStripTrackingRecHitsValid().

float SiStripTrackingRecHitsValid::track_rapidity
private

Definition at line 436 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

TrackerHitAssociator::Config SiStripTrackingRecHitsValid::trackerHitAssociatorConfig_
private

Definition at line 424 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<reco::Track> > SiStripTrackingRecHitsValid::tracksInputToken_
private

Definition at line 437 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), and SiStripTrackingRecHitsValid().