CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual 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
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

virtual void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginJob (const edm::EventSetup &es)
 
void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es)
 
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,
LocalVector
projectHit (const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
 
void rechitanalysis (TrajectoryStateOnSurface tsos, const TransientTrackingRecHit::ConstRecHitPointer thit, const StripGeomDetUnit *stripdet, edm::ESHandle< StripClusterParameterEstimator > stripcpe, TrackerHitAssociator &associate, bool simplehit1or2D)
 
void rechitanalysis_matched (TrajectoryStateOnSurface tsos, const TransientTrackingRecHit::ConstRecHitPointer thit, 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,
StereoAndMatchedMEs
StereoAndMatchedMEsMap
 
std::string topFolderName_
 
float track_rapidity
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
edm::EDGetTokenT< std::vector
< Trajectory > > 
trajectoryInputToken_
 

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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
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::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (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 436 of file SiStripTrackingRecHitsValid.h.

436 { 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 trajectoryInputToken_.

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  trajectoryInputToken_ = consumes<std::vector<Trajectory> >( conf_.getParameter<edm::InputTag>("trajectoryInput") );
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
edm::EDGetTokenT< std::vector< Trajectory > > trajectoryInputToken_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
TrackerHitAssociator::Config trackerHitAssociatorConfig_
SiStripTrackingRecHitsValid::~SiStripTrackingRecHitsValid ( )

Definition at line 430 of file SiStripTrackingRecHitsValid.cc.

430  {
431 }

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 458 of file SiStripTrackingRecHitsValid.cc.

References SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, PV3DBase< T, PVType, FrameType >::eta(), edm::EventID::event(), SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, fillME(), TrackingRecHit::geographicalId(), edm::EventSetup::get(), edm::Event::getByToken(), SiStripHistoId::getSubdetid(), TrajectoryStateOnSurface::globalDirection(), TrackingRecHit::hit(), edm::EventBase::id(), TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), diffTwoXMLs::label, LayerMEsMap, HLT_ES_cff::magfield, 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< class >::product(), SiStripTrackingRecHitsValid::RecHitProperties::pullx, SiStripTrackingRecHitsValid::RecHitProperties::pullxMF, SiStripTrackingRecHitsValid::RecHitProperties::pully, DetId::rawId(), 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(), track_rapidity, SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta, patCandidatesForDimuonsSequences_cff::tracker, trackerHitAssociatorConfig_, SiStripTrackingRecHitsValid::RecHitProperties::trackwidth, trajectoryInputToken_, PV3DBase< T, PVType, FrameType >::transverse(), 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<Trajectory> > trajCollectionHandle;
499  e.getByToken(trajectoryInputToken_, trajCollectionHandle);
500 
501  edm::LogVerbatim("TrajectoryAnalyzer") << "trajColl->size(): " << trajCollectionHandle->size();
502 
503  for (vector < Trajectory >::const_iterator it = trajCollectionHandle->begin(), itEnd = trajCollectionHandle->end(); it !=itEnd ; ++it) {
504 
505  edm::LogVerbatim("TrajectoryAnalyzer") << "this traj has " << it->foundHits() << " valid hits" << " , " << "isValid: " << it->isValid();
506 
507  vector < TrajectoryMeasurement > tmColl = it->measurements();
508 
509  for (auto const &itTraj : tmColl ) {
510  if (itTraj.updatedState().isValid()) {
511  //edm::LogVerbatim("TrajectoryAnalyzer") << "tm number: " <<
512  // (itTraj - tmColl.begin()) + 1<< " , " << "tm.backwardState.pt: " <<
513  // itTraj->backwardPredictedState().globalMomentum().perp() << " , " <<
514  // "tm.forwardState.pt: " << itTraj->forwardPredictedState().globalMomentum().perp() <<
515  // " , " << "tm.updatedState.pt: " << itTraj->updatedState().globalMomentum().perp() <<
516  // " , " << "tm.globalPos.perp: " << itTraj->updatedState().globalPosition().perp();
517 
518  if (itTraj.updatedState().globalMomentum().perp() < 0.5) continue;
519 
520  TrajectoryStateOnSurface tsos = itTraj.updatedState();
521 
522  const TransientTrackingRecHit::ConstRecHitPointer thit2 = itTraj.recHit();
523  DetId detid2 = thit2->geographicalId();
524  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast < const SiStripMatchedRecHit2D * >((*thit2).hit());
525  const SiStripRecHit2D *hit2d = dynamic_cast < const SiStripRecHit2D * >((*thit2).hit());
526  const SiStripRecHit1D *hit1d = dynamic_cast < const SiStripRecHit1D * >((*thit2).hit());
527  //if(matchedhit) cout<<"manganomatchedhit"<<endl;
528  //if(hit) cout<<"manganosimplehit"<<endl;
529  //if (hit && matchedhit) cout<<"manganosimpleandmatchedhit"<<endl;
530  const TrackingRecHit *thit = (*thit2).hit();
531 
532  detid = (thit)->geographicalId();
533  myid = detid.rawId();
534  //Here due to the fact that the SiStripHistoId::getSubdetid complains when
535  //a subdet of 1 or 2 appears we add an if statement.
536  if(detid.subdetId()==1 ||detid.subdetId()==2 ){
537  continue;
538  }
539  SiStripHistoId hidmanager;
540  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
541  // std::cout<< "label " << label << " and id " << detid.subdetId() << std::endl;
542 
543  StripSubdetector StripSubdet = (StripSubdetector) detid;
544  //Variable to define the case we are dealing with
545  std::string matchedmonorstereo;
546 
547  isrechitmatched = 0;
548 
549  if (matchedhit) {
550  isrechitmatched = 1;
551  const GluedGeomDet *gluedDet = (const GluedGeomDet *) tracker.idToDet(matchedhit->geographicalId());
552  //Analysis
553  rechitanalysis_matched(tsos, thit2, gluedDet, associate, stripcpe, MatchStatus::matched);
554  // rechitmatched.push_back(rechitpro);
555  }
556 
557  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
558 
559  //Filling Histograms for Matched hits
560 
561  if (isrechitmatched) {
562 
563  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
564  fillME(iStereoAndMatchedME->second.mePosxMatched,rechitpro.x);
565  fillME(iStereoAndMatchedME->second.mePosyMatched,rechitpro.y);
566  fillME(iStereoAndMatchedME->second.meResolxMatched,sqrt(rechitpro.resolxx));
567  fillME(iStereoAndMatchedME->second.meResolyMatched,sqrt(rechitpro.resolyy));
568  fillME(iStereoAndMatchedME->second.meResxMatched,rechitpro.resx);
569  fillME(iStereoAndMatchedME->second.meResyMatched,rechitpro.resy);
570  fillME(iStereoAndMatchedME->second.mePullxMatched,rechitpro.pullx);
571  fillME(iStereoAndMatchedME->second.mePullyMatched,rechitpro.pully);
572  }
573  }
574 
575  //Reset Variables here for the current event
576  isrechitrphi = 0;
577  isrechitsas = 0;
578 
580  // simple hits from matched hits
582 
583  if (tsos.globalDirection().transverse() != 0) {
585  } else {
586  track_rapidity = -999.0;
587  }
588 
589  if (matchedhit) {
590  auto hm = matchedhit->monoHit();
591  const SiStripRecHit2D *monohit = &hm;
592  // const GeomDetUnit * monodet=gdet->monoDet();
593  GluedGeomDet *gdet = (GluedGeomDet *) tracker2->idToDet(matchedhit->geographicalId());
594 
595  if (monohit) {
596 
597  isrechitrphi = 1;
598 
599  //Analysis
600  rechitanalysis_matched(tsos, thit2, gdet, associate, stripcpe, MatchStatus::monoHit);
601 
602  }
603 
604  auto s = matchedhit->stereoHit();
605  const SiStripRecHit2D *stereohit = &s;
606 
607  if (stereohit) {
608 
609  isrechitsas = 1;
610 
611  //Analysis
612  rechitanalysis_matched(tsos, thit2, gdet, associate, stripcpe, MatchStatus::stereoHit);
613  }
614  }
615 
616  if (hit1d) {
617  // simple hits are mono or stereo
618  // cout<<"simple hit"<<endl;
619  if (StripSubdet.stereo()) {
620 
621  //cout<<"simple hit stereo"<<endl;
622  isrechitsas = 1;
623 
624  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
625  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
626 
627  //Analysis for hit1d stereo
628  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, true);
629  } else {
630  isrechitrphi = 1;
631  // cout<<"simple hit mono"<<endl;
632 
633  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
634  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
635 
636  //Analysis for hit1d mono
637  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, true);
638 
639  }
640  }
641 
642  if (hit2d) {
643  // simple hits are mono or stereo
644  // cout<<"simple hit"<<endl;
645  if (StripSubdet.stereo()) {
646 
647  //cout<<"simple hit stereo"<<endl;
648  isrechitsas = 1;
649 
650  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
651  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
652 
653  //Analysis for hit2d stereo
654  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, false);
655 
656  } else {
657  isrechitrphi = 1;
658  // cout<<"simple hit mono"<<endl;
659 
660  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
661  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
662 
663  //Analysis for hit2d mono
664  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, false);
665 
666  }
667  }
668 
669 //------------------------------------------------------------------------------------------------------------------------------------------------------
670 
671  //Filling Histograms for simple hits
672  //cout<<"isrechitrphi,isrechitsas = "<<isrechitrphi<<","<<isrechitsas<<endl;
673 
674  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
675  if (isrechitrphi) {
682 
685 
686  if (rechitpro.clusiz == 1) {
689  } else if (rechitpro.clusiz == 2) {
695  } else if (rechitpro.clusiz == 3) {
698  } else if (rechitpro.clusiz == 4) {
701  }
702 
703  if (rechitpro.category == 1) {
706  } else if (rechitpro.category == 2) {
708  } else if (rechitpro.category == 3) {
710  } else if (rechitpro.category == 4) {
712  }
713 
720 
721  if(iLayerME != LayerMEsMap.end()){
722  fillME(iLayerME->second.meWclusRphi,rechitpro.clusiz);
723  fillME(iLayerME->second.meAdcRphi,rechitpro.cluchg);
724  fillME(iLayerME->second.meResolxLFRphi,sqrt(rechitpro.resolxx));
725  fillME(iLayerME->second.meResolxMFRphi,sqrt(rechitpro.resolxxMF));
726 
727  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResolxMFRphiwclus1,sqrt(rechitpro.resolxxMF));}
728  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResolxMFRphiwclus2,sqrt(rechitpro.resolxxMF));}
729  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResolxMFRphiwclus3,sqrt(rechitpro.resolxxMF));}
730  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResolxMFRphiwclus4,sqrt(rechitpro.resolxxMF));}
731 
732 
733  fillME(iLayerME->second.meResLFRphi,rechitpro.resx);
734  fillME(iLayerME->second.meResMFRphi,rechitpro.resxMF);
735 
736  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.merapidityResProfilewclus1,track_rapidity, fabs(rechitpro.resxMF));}
737  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.merapidityResProfilewclus2,track_rapidity, fabs(rechitpro.resxMF));}
738  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.merapidityResProfilewclus3,track_rapidity, fabs(rechitpro.resxMF));}
739  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.merapidityResProfilewclus4,track_rapidity, fabs(rechitpro.resxMF));}
740 
741  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResMFRphiwclus1,rechitpro.resxMF);}
742  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResMFRphiwclus2,rechitpro.resxMF);}
743  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResMFRphiwclus3,rechitpro.resxMF);}
744  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResMFRphiwclus4,rechitpro.resxMF);}
745 
746  fillME(iLayerME->second.mePullLFRphi,rechitpro.pullx);
747  fillME(iLayerME->second.mePullMFRphi,rechitpro.pullxMF);
748 
749  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullMFRphiwclus1,rechitpro.pullxMF);}
750  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullMFRphiwclus2,rechitpro.pullxMF);}
751  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullMFRphiwclus3,rechitpro.pullxMF);}
752  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullMFRphiwclus4,rechitpro.pullxMF);}
753 
754 
755  fillME(iLayerME->second.meTrackangleRphi,rechitpro.trackangle);
756  fillME(iLayerME->second.mePullTrackangleProfileRphi,rechitpro.trackangle,fabs(rechitpro.pullxMF));
757 
758  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus1,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
759  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus2,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
760  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus3,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
761  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus4,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
762 
763 
764  if (rechitpro.clusiz == 1) {
765  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
766  fillME(iLayerME->second.meResMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
767  }
768  if (rechitpro.clusiz == 2) {
769  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
770  fillME(iLayerME->second.meResMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
771  }
772  if (rechitpro.clusiz == 3) {
773  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
774  fillME(iLayerME->second.meResMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
775  }
776  if (rechitpro.clusiz == 4) {
777  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
778  fillME(iLayerME->second.meResMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
779  }
780 
781 
782  if (rechitpro.category == 1) {
783  fillME(iLayerME->second.mePullTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
784  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
785  fillME(iLayerME->second.meResolxMFClusterwidthProfileCategory1Rphi,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
786  } else if(rechitpro.category == 2) {
787  fillME(iLayerME->second.mePullTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
788  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
789  } else if (rechitpro.category == 3) {
790  fillME(iLayerME->second.mePullTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
791  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
792  } else if (rechitpro.category == 4) {
793  fillME(iLayerME->second.mePullTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
794  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
795  }
796 
797  fillME(iLayerME->second.meTrackwidthRphi,rechitpro.trackwidth);
798  fillME(iLayerME->second.meExpectedwidthRphi,rechitpro.expectedwidth);
799  fillME(iLayerME->second.meClusterwidthRphi,rechitpro.clusiz);
800  fillME(iLayerME->second.meCategoryRphi,rechitpro.category);
801  fillME(iLayerME->second.meResolxMFTrackwidthProfileRphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
802  fillME(iLayerME->second.meResolxMFAngleProfileRphi,rechitpro.trackangle,sqrt(rechitpro.resolxxMF));
803  }
804  }
805 
806  if (isrechitsas > 0) {
813 
816 
817  if (rechitpro.clusiz == 1) {
820  } else if (rechitpro.clusiz == 2) {
823  } else if (rechitpro.clusiz == 3) {
826  } else if (rechitpro.clusiz == 4) {
829  } if (rechitpro.category == 1) {
832  } else if (rechitpro.category == 2) {
834  } else if (rechitpro.category == 3) {
836  } else if (rechitpro.category == 4) {
838  }
839 
846 
847  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
848  fillME(iStereoAndMatchedME->second.meWclusSas,rechitpro.clusiz);
849  fillME(iStereoAndMatchedME->second.meAdcSas,rechitpro.cluchg);
850  fillME(iStereoAndMatchedME->second.meResolxLFSas,sqrt(rechitpro.resolxx));
851  fillME(iStereoAndMatchedME->second.meResLFSas,rechitpro.resx);
852  fillME(iStereoAndMatchedME->second.mePullLFSas,rechitpro.pullx);
853  fillME(iStereoAndMatchedME->second.meResolxMFSas,sqrt(rechitpro.resolxxMF));
854  fillME(iStereoAndMatchedME->second.meResMFSas,rechitpro.resxMF);
855  fillME(iStereoAndMatchedME->second.mePullMFSas,rechitpro.pullxMF);
856  fillME(iStereoAndMatchedME->second.meTrackangleSas,rechitpro.trackangle);
857  fillME(iStereoAndMatchedME->second.mePullTrackangleProfileSas,rechitpro.trackangle, rechitpro.pullxMF);
858  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileSas,rechitpro.trackwidth, rechitpro.pullxMF);
859  if (rechitpro.category == 1) {
860  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory1Sas,rechitpro.trackwidth,rechitpro.pullxMF);
861  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory1Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
862  fillME(iStereoAndMatchedME->second.meResolxMFClusterwidthProfileCategory1Sas,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
863  } else if (rechitpro.category == 2) {
864  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory2Sas,rechitpro.trackwidth,rechitpro.pullxMF);
865  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory2Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
866  } else if (rechitpro.category == 3) {
867  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory3Sas,rechitpro.trackwidth,rechitpro.pullxMF);
868  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory3Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
869  } else if (rechitpro.category == 4) {
870  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory4Sas,rechitpro.trackwidth,rechitpro.pullxMF);
871  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory4Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
872  }
873  fillME(iStereoAndMatchedME->second.meTrackwidthSas,rechitpro.trackwidth);
874  fillME(iStereoAndMatchedME->second.meExpectedwidthSas,rechitpro.expectedwidth);
875  fillME(iStereoAndMatchedME->second.meClusterwidthSas,rechitpro.clusiz);
876  fillME(iStereoAndMatchedME->second.meCategorySas,rechitpro.category);
877  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileSas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
878  fillME(iStereoAndMatchedME->second.meResolxMFAngleProfileSas,rechitpro.trackangle, rechitpro.resolxxMF);
879  }
880  }
881  }
882  }
883  }
884 }
RunNumber_t run() const
Definition: EventID.h:39
EventNumber_t event() const
Definition: EventID.h:41
void rechitanalysis(TrajectoryStateOnSurface tsos, const TransientTrackingRecHit::ConstRecHitPointer thit, const StripGeomDetUnit *stripdet, edm::ESHandle< StripClusterParameterEstimator > stripcpe, TrackerHitAssociator &associate, bool simplehit1or2D)
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
void fillME(MonitorElement *ME, float value1)
void rechitanalysis_matched(TrajectoryStateOnSurface tsos, const TransientTrackingRecHit::ConstRecHitPointer thit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate, edm::ESHandle< StripClusterParameterEstimator > stripcpe, const MatchStatus matchedmonorstereo)
edm::EDGetTokenT< std::vector< Trajectory > > trajectoryInputToken_
tuple magfield
Definition: HLT_ES_cff.py:2311
std::map< std::string, LayerMEs > LayerMEsMap
T transverse() const
Definition: PV3DBase.h:73
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
T sqrt(T t)
Definition: SSEVec.h:18
TrackerHitAssociator::Config trackerHitAssociatorConfig_
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
virtual TrackingRecHit const * hit() const
SiStripRecHit2D stereoHit() const
T const * product() const
Definition: ESHandle.h:86
SiStripRecHit2D monoHit() const
T eta() const
Definition: PV3DBase.h:76
edm::EventID id() const
Definition: EventBase.h:59
DetId geographicalId() const
GlobalVector globalDirection() const
virtual const TrackerGeomDet * idToDet(DetId) const
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 
)
protectedvirtual

Implements DQMEDAnalyzer.

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:56
MonitorElement * SiStripTrackingRecHitsValid::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 2074 of file SiStripTrackingRecHitsValid.cc.

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

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

2075 {
2076  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2077  return ibooker.book1D(HistoName,HistoTitle,
2078  Parameters.getParameter<int32_t>("Nbinx"),
2079  Parameters.getParameter<double>("xmin"),
2080  Parameters.getParameter<double>("xmax")
2081  );
2082 }
T getParameter(std::string const &) const
vector< ParameterSet > Parameters
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
std::string HistoName
MonitorElement * SiStripTrackingRecHitsValid::bookMEProfile ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName,
const char *  HistoTitle 
)
inlineprivate

Definition at line 2084 of file SiStripTrackingRecHitsValid.cc.

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

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

2085 {
2086  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2087  //The number of channels in Y is disregarded in a profile plot.
2088  return ibooker.bookProfile(HistoName,HistoTitle,
2089  Parameters.getParameter<int32_t>("Nbinx"),
2090  Parameters.getParameter<double>("xmin"),
2091  Parameters.getParameter<double>("xmax"),
2092  Parameters.getParameter<double>("ymin"),
2093  Parameters.getParameter<double>("ymax"),
2094  ""
2095  );
2096 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
vector< ParameterSet > Parameters
std::string HistoName
void SiStripTrackingRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 1513 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().

1514 {
1515  SiStripHistoId hidmanager;
1516  LayerMEs layerMEs;
1517 
1518  layerMEs.meWclusRphi = 0;
1519  layerMEs.meAdcRphi = 0;
1520  layerMEs.meResolxLFRphi = 0;
1521  layerMEs.meResolxMFRphi = 0;
1522  layerMEs.meResolxMFRphiwclus1 = 0;
1523  layerMEs.meResolxMFRphiwclus2 = 0;
1524  layerMEs.meResolxMFRphiwclus3 = 0;
1525  layerMEs.meResolxMFRphiwclus4 = 0;
1526  layerMEs.meResLFRphi = 0;
1527  layerMEs.meResMFRphi = 0;
1528  layerMEs.meResMFRphiwclus1 = 0;
1529  layerMEs.meResMFRphiwclus2 = 0;
1530  layerMEs.meResMFRphiwclus3 = 0;
1531  layerMEs.meResMFRphiwclus4 = 0;
1532  layerMEs.mePullLFRphi = 0;
1533  layerMEs.mePullMFRphi = 0;
1534  layerMEs.mePullMFRphiwclus1 = 0;
1535  layerMEs.mePullMFRphiwclus2 = 0;
1536  layerMEs.mePullMFRphiwclus3 = 0;
1537  layerMEs.mePullMFRphiwclus4 = 0;
1538  layerMEs.meTrackangleRphi = 0;
1539  layerMEs.meTrackanglebetaRphi = 0;
1540  layerMEs.meTrackangle2Rphi = 0;
1541  layerMEs.mePullTrackangleProfileRphi = 0;
1542  layerMEs.mePullTrackangle2DRphi = 0;
1543  layerMEs.meTrackwidthRphi = 0;
1544  layerMEs.meExpectedwidthRphi = 0;
1545  layerMEs.meClusterwidthRphi = 0;
1546  layerMEs.meCategoryRphi = 0;
1547  layerMEs.mePullTrackwidthProfileRphi = 0;
1548  layerMEs.mePullTrackwidthProfileRphiwclus1 = 0;
1549  layerMEs.mePullTrackwidthProfileRphiwclus2 = 0;
1550  layerMEs.mePullTrackwidthProfileRphiwclus3 = 0;
1551  layerMEs.mePullTrackwidthProfileRphiwclus4 = 0;
1552  layerMEs.mePullTrackwidthProfileCategory1Rphi = 0;
1553  layerMEs.mePullTrackwidthProfileCategory2Rphi = 0;
1554  layerMEs.mePullTrackwidthProfileCategory3Rphi = 0;
1555  layerMEs.mePullTrackwidthProfileCategory4Rphi = 0;
1556  layerMEs.meResolxMFTrackwidthProfileRphi = 0;
1557 
1558  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = 0;
1559  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = 0;
1560  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = 0;
1561  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = 0;
1562  layerMEs.meResMFTrackwidthProfileWclus1Rphi = 0;
1563  layerMEs.meResMFTrackwidthProfileWclus2Rphi = 0;
1564  layerMEs.meResMFTrackwidthProfileWclus3Rphi = 0;
1565  layerMEs.meResMFTrackwidthProfileWclus4Rphi = 0;
1566 
1567  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = 0;
1568  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = 0;
1569  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = 0;
1570  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = 0;
1571  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = 0;
1572  layerMEs.meResolxMFAngleProfileRphi = 0;
1573  layerMEs.merapidityResProfilewclus1 = 0;
1574  layerMEs.merapidityResProfilewclus2 = 0;
1575  layerMEs.merapidityResProfilewclus3 = 0;
1576  layerMEs.merapidityResProfilewclus4 = 0;
1577 
1578 
1579  //WclusRphi
1580  if(layerswitchWclusRphi) {
1581  layerMEs.meWclusRphi = bookME1D(ibooker,"TH1WclusRphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1582  layerMEs.meWclusRphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str());
1583  }
1584  //AdcRphi
1585  if(layerswitchAdcRphi) {
1586  layerMEs.meAdcRphi = bookME1D(ibooker,"TH1AdcRphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge");
1587  layerMEs.meAdcRphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str());
1588  }
1589  //ResolxLFRphi
1591  layerMEs.meResolxLFRphi = bookME1D(ibooker,"TH1ResolxLFRphi", hidmanager.createHistoLayer("Resolx_LF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1592  layerMEs.meResolxLFRphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str());
1593  }
1594  //ResolxMFRphi
1596  layerMEs.meResolxMFRphi = bookME1D(ibooker,"TH1ResolxMFRphi", hidmanager.createHistoLayer("Resolx_MF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1597  layerMEs.meResolxMFRphi->setAxisTitle(("resol(x) RecHit coord. (measurement frame) in " + label).c_str());
1598  }
1599  //ResolxMFRphiwclus1
1601  layerMEs.meResolxMFRphiwclus1 = bookME1D(ibooker,"TH1ResolxMFRphiwclus1", hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=1 "); //<resolor>~20micron
1602  layerMEs.meResolxMFRphiwclus1->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=1 in " + label).c_str());
1603  }
1604  //ResolxMFRphiwclus2
1606  layerMEs.meResolxMFRphiwclus2 = bookME1D(ibooker,"TH1ResolxMFRphiwclus2", hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=2 "); //<resolor>~20micron
1607  layerMEs.meResolxMFRphiwclus2->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=2 in " + label).c_str());
1608  }
1609  //ResolxMFRphiwclus3
1611  layerMEs.meResolxMFRphiwclus3 = bookME1D(ibooker,"TH1ResolxMFRphiwclus3", hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=3 "); //<resolor>~20micron
1612  layerMEs.meResolxMFRphiwclus3->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=3 in " + label).c_str());
1613  }
1614  //ResolxMFRphiwclus4
1616  layerMEs.meResolxMFRphiwclus4 = bookME1D(ibooker,"TH1ResolxMFRphiwclus4", hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=4 "); //<resolor>~20micron
1617  layerMEs.meResolxMFRphiwclus4->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=4 in " + label).c_str());
1618  }
1619  //ResLFRphi
1620  if(layerswitchResLFRphi) {
1621  layerMEs.meResLFRphi = bookME1D(ibooker,"TH1ResLFRphi", hidmanager.createHistoLayer("Res_LF_rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1622  layerMEs.meResLFRphi->setAxisTitle(("Hit Residuals(x) (local frame) in " + label).c_str());
1623  }
1624  //ResMFRphi
1625  if(layerswitchResMFRphi) {
1626  layerMEs.meResMFRphi = bookME1D(ibooker,"TH1ResMFRphi",hidmanager.createHistoLayer("Res_MF_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1627  layerMEs.meResMFRphi->setAxisTitle(("Hit Residuals(x) (measurement frame) in "+ label).c_str());
1628  }
1629  //ResMFRphiwclus1
1631  layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,"TH1ResMFRphiwclus1",hidmanager.createHistoLayer("Res_MF_wclus1_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=1");
1632  layerMEs.meResMFRphiwclus1->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=1 in "+ label).c_str());
1633  }
1634  //ResMFRphiwclus2
1636  layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,"TH1ResMFRphiwclus2",hidmanager.createHistoLayer("Res_MF_wclus2_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=2");
1637  layerMEs.meResMFRphiwclus2->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=2 in "+ label).c_str());
1638  }
1639  //ResMFRphiwclus3
1641  layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,"TH1ResMFRphiwclus3",hidmanager.createHistoLayer("Res_MF_wclus3_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=3");
1642  layerMEs.meResMFRphiwclus3->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=3 in "+ label).c_str());
1643  }
1644  //ResMFRphiwclus4
1646  layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,"TH1ResMFRphiwclus4",hidmanager.createHistoLayer("Res_MF_wclus4_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=4");
1647  layerMEs.meResMFRphiwclus4->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=4 in "+ label).c_str());
1648  }
1649  //PullLFRphi
1650  if(layerswitchPullLFRphi) {
1651  layerMEs.mePullLFRphi = bookME1D(ibooker,"TH1PullLFRphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution");
1652  layerMEs.mePullLFRphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str());
1653  }
1654  //PullMFRphi
1655  if(layerswitchPullMFRphi) {
1656  layerMEs.mePullMFRphi = bookME1D(ibooker,"TH1PullMFRphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution");
1657  layerMEs.mePullMFRphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str());
1658  }
1659  //PullMFRphiwclus1
1661  layerMEs.mePullMFRphiwclus1 = bookME1D(ibooker,"TH1PullMFRphiwclus1", hidmanager.createHistoLayer("Pull_MF_wclus1_rphi","layer",label,"").c_str() ,"Pull distribution w=1");
1662  layerMEs.mePullMFRphiwclus1->setAxisTitle(("Pull distribution (measurement frame) for w=1 in " + label).c_str());
1663  }
1664  //PullMFRphiwclus2
1666  layerMEs.mePullMFRphiwclus2 = bookME1D(ibooker,"TH1PullMFRphiwclus2", hidmanager.createHistoLayer("Pull_MF_wclus2_rphi","layer",label,"").c_str() ,"Pull distribution w=2");
1667  layerMEs.mePullMFRphiwclus2->setAxisTitle(("Pull distribution (measurement frame) for w=2 in " + label).c_str());
1668  }
1669  //PullMFRphiwclus3
1671  layerMEs.mePullMFRphiwclus3 = bookME1D(ibooker,"TH1PullMFRphiwclus3", hidmanager.createHistoLayer("Pull_MF_wclus3_rphi","layer",label,"").c_str() ,"Pull distribution w=3");
1672  layerMEs.mePullMFRphiwclus3->setAxisTitle(("Pull distribution (measurement frame) for w=3 in " + label).c_str());
1673  }
1674  //PullMFRphiwclus4
1676  layerMEs.mePullMFRphiwclus4 = bookME1D(ibooker,"TH1PullMFRphiwclus4", hidmanager.createHistoLayer("Pull_MF_wclus4_rphi","layer",label,"").c_str() ,"Pull distribution w=4");
1677  layerMEs.mePullMFRphiwclus4->setAxisTitle(("Pull distribution (measurement frame) for w=4 in " + label).c_str());
1678  }
1679 
1681  layerMEs.meTrackangleRphi = bookME1D(ibooker,"TH1TrackangleRphi",hidmanager.createHistoLayer("Track_angle_Rphi","layer",label,"").c_str() ,"Track angle alpha");
1682  layerMEs.meTrackangleRphi->setAxisTitle(("Track angle in "+ label).c_str());
1683  }
1685  layerMEs.meTrackanglebetaRphi = bookME1D(ibooker,"TH1TrackanglebetaRphi",hidmanager.createHistoLayer("Track_angle_beta_Rphi","layer",label,"").c_str() ,"Track angle beta");
1686  layerMEs.meTrackanglebetaRphi->setAxisTitle((""+ label).c_str());
1687  }
1689  layerMEs.meTrackangle2Rphi = bookME1D(ibooker,"TH1Trackangle2Rphi",hidmanager.createHistoLayer("Track_angle2_Rphi","layer",label,"").c_str() ,"");
1690  layerMEs.meTrackangle2Rphi->setAxisTitle((""+ label).c_str());
1691  }
1693  layerMEs.mePullTrackangleProfileRphi = bookMEProfile(ibooker,"TProfPullTrackangleProfileRphi",hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle alpha");
1694  layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Track angle alpha in "+ label).c_str(),1);
1695  layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2);
1696  }
1698  layerMEs.mePullTrackangle2DRphi = bookME1D(ibooker,"TH1PullTrackangle2DRphi",hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi","layer",label,"").c_str() ,"");
1699  layerMEs.mePullTrackangle2DRphi->setAxisTitle((""+ label).c_str());
1700  }
1702  layerMEs.meTrackwidthRphi = bookME1D(ibooker,"TH1TrackwidthRphi",hidmanager.createHistoLayer("Track_width_Rphi","layer",label,"").c_str() ,"Track width");
1703  layerMEs.meTrackwidthRphi->setAxisTitle(("Track width in "+ label).c_str());
1704  }
1706  layerMEs.meExpectedwidthRphi = bookME1D(ibooker,"TH1ExpectedwidthRphi",hidmanager.createHistoLayer("Expected_width_Rphi","layer",label,"").c_str() ,"Expected width");
1707  layerMEs.meExpectedwidthRphi->setAxisTitle(("Expected width in "+ label).c_str());
1708  }
1710  layerMEs.meClusterwidthRphi = bookME1D(ibooker,"TH1ClusterwidthRphi",hidmanager.createHistoLayer("Cluster_width_Rphi","layer",label,"").c_str() ,"Cluster width");
1711  layerMEs.meClusterwidthRphi->setAxisTitle(("Cluster width in "+ label).c_str());
1712  }
1714  layerMEs.meCategoryRphi = bookME1D(ibooker,"TH1CategoryRphi",hidmanager.createHistoLayer("Category_Rphi","layer",label,"").c_str() ,"Category");
1715  layerMEs.meCategoryRphi->setAxisTitle(("Category in "+ label).c_str());
1716  }
1718  layerMEs.mePullTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width");
1719  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1);
1720  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2);
1721  }
1723  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");
1724  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1725  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("Pull (MF) for w=1 in "+ label).c_str(),2);
1726  }
1728  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");
1729  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1730  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("Pull (MF) for w=2 in "+ label).c_str(),2);
1731 
1732  }
1734  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");
1735  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1736  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("Pull (MF) for w=3 in "+ label).c_str(),2);
1737  }
1739  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");
1740  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1741  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("Pull (MF) for w=4 in "+ label).c_str(),2);
1742 
1743  }
1745  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");
1746  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1);
1747  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("Pull (MF) for Category 1 in "+ label).c_str(),2);
1748  }
1750  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");
1751  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1);
1752  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("Pull (MF) for Category 2 in "+ label).c_str(),2);
1753  }
1755  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");
1756  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1);
1757  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("Pull (MF) for Category 3 in "+ label).c_str(),2);
1758  }
1760  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");
1761  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1);
1762  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("Pull (MF) for Category 4 in "+ label).c_str(),2);
1763  }
1765  layerMEs.meResolxMFTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileRphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width");
1766  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1);
1767  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2);
1768  }
1769 
1771  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");
1772  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1773  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Resolution in MF for w=1 in "+ label).c_str(),2);
1774  }
1776  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");
1777  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1778  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Resolution in MF for w=2 in "+ label).c_str(),2);
1779  }
1781  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");
1782  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1783  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Resolution in MF for w=3 in "+ label).c_str(),2);
1784  }
1786  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");
1787  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1788  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Resolution in MF for w=4 in "+ label).c_str(),2);
1789  }
1791  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");
1792  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1793  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Residuals(x) in MF for w=1 in "+ label).c_str(),2);
1794  }
1796  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");
1797  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1798  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Residuals(x) in MF for w=2 in "+ label).c_str(),2);
1799  }
1801  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");
1802  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1803  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Residuals(x) in MF for w=3 in "+ label).c_str(),2);
1804  }
1806  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");
1807  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1808  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Residuals(x) in MF for w=4 in "+ label).c_str(),2);
1809  }
1810 
1812  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");
1813  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1);
1814  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2);
1815  }
1817  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");
1818  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1);
1819  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("Resolution in MF for Category 2 in "+ label).c_str(),2);
1820  }
1822  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");
1823  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1);
1824  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("Resolution in MF for Category 3 in "+ label).c_str(),2);
1825  }
1827  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");
1828  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1);
1829  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi->setAxisTitle(("Resolution in MF for Category 4 in "+ label).c_str(),2);
1830  }
1832  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");
1833  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("cluster width for Category 1 in "+ label).c_str(),1);
1834  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2);
1835  }
1837  layerMEs.meResolxMFAngleProfileRphi = bookMEProfile(ibooker,"TProfResolxMFAngleProfileRphi",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle alpha");
1838  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("track angle alpha in "+ label).c_str(),1);
1839  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2);
1840  }
1842  layerMEs.merapidityResProfilewclus1 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus1",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=1");
1843  layerMEs.merapidityResProfilewclus1->setAxisTitle(("Res for w=1 in "+ label).c_str(),1);
1844  layerMEs.merapidityResProfilewclus1->setAxisTitle(("rapidity for w=1 in "+ label).c_str(),2);
1845  }
1847  layerMEs.merapidityResProfilewclus2 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus2",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=2");
1848  layerMEs.merapidityResProfilewclus2->setAxisTitle(("Res for w=2 in "+ label).c_str(),1);
1849  layerMEs.merapidityResProfilewclus2->setAxisTitle(("rapidity for w=2 in "+ label).c_str(),2);
1850  }
1852  layerMEs.merapidityResProfilewclus3 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus3",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=3");
1853  layerMEs.merapidityResProfilewclus3->setAxisTitle(("Res for w=3 in "+ label).c_str(),1);
1854  layerMEs.merapidityResProfilewclus3->setAxisTitle(("rapidity for w=3 in "+ label).c_str(),2);
1855  }
1857  layerMEs.merapidityResProfilewclus4 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus4",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=4");
1858  layerMEs.merapidityResProfilewclus4->setAxisTitle(("Res for w=4 in "+ label).c_str(),1);
1859  layerMEs.merapidityResProfilewclus4->setAxisTitle(("rapidity for w=4 in "+ label).c_str(),2);
1860  }
1861 
1862 
1863  LayerMEsMap[label]=layerMEs;
1864 
1865 }
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 1204 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), createLayerMEs(), createSimpleHitsMEs(), createStereoAndMatchedMEs(), edm::EventSetup::get(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), diffTwoXMLs::label, LayerDetMap, LayerMEsMap, edm::ESHandle< class >::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().

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

Definition at line 1333 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().

1334 {
1347 
1352 
1362  simplehitsMEs.meResLF = 0;
1363  simplehitsMEs.mePullLF = 0;
1365  simplehitsMEs.meResMF = 0;
1366  simplehitsMEs.mePullMF = 0;
1367 
1368 
1369  if(layerswitchResolx_LF) {
1370  simplehitsMEs.meResolxLF = bookME1D(ibooker,"TH1Resolx_LF", "TH1Resolx_LF" ,"RecHit resol(x) coord. (local frame)");
1371  simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)");
1372  }
1373  if(layerswitchResolx_MF) {
1374  simplehitsMEs.meResolxMF = bookME1D(ibooker,"TH1Resolx_MF", "TH1Resolx_MF" ,"RecHit resol(x) coord. (measurement frame)");
1375  simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)");
1376  }
1377  if(layerswitchRes_LF) {
1378  simplehitsMEs.meResLF = bookME1D(ibooker,"TH1Res_LF", "TH1Res_LF" ,"Residual of the hit x coordinate (local frame)");
1379  simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)");
1380  }
1381  if(layerswitchRes_MF) {
1382  simplehitsMEs.meResMF = bookME1D(ibooker,"TH1Res_MF", "TH1Res_MF" ,"Residual of the hit x coordinate (measurement frame)");
1383  simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)");
1384  }
1385  if(layerswitchPull_LF) {
1386  simplehitsMEs.mePullLF = bookME1D(ibooker,"TH1Pull_LF", "TH1Pull_LF" ,"Pull distribution (local frame)");
1387  simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)");
1388  }
1389  if(layerswitchPull_MF) {
1390  simplehitsMEs.mePullMF = bookME1D(ibooker,"TH1Pull_MF", "TH1Pull_MF" ,"Pull distribution (measurement frame)");
1391  simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)");
1392  }
1393  if(layerswitchCategory) {
1394  simplehitsMEs.meCategory = bookME1D(ibooker,"TH1Category", "TH1Category" ,"Category");
1395  simplehitsMEs.meCategory->setAxisTitle("Category");
1396  }
1397  if(layerswitchTrackwidth) {
1398  simplehitsMEs.meTrackwidth = bookME1D(ibooker,"TH1Trackwidth", "TH1Trackwidth" ,"Track width");
1399  simplehitsMEs.meTrackwidth->setAxisTitle("Track width");
1400  }
1402  simplehitsMEs.meExpectedwidth = bookME1D(ibooker,"TH1Expectedwidth", "TH1Expectedwidth" ,"Expected width");
1403  simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width");
1404  }
1406  simplehitsMEs.meClusterwidth = bookME1D(ibooker,"TH1Clusterwidth", "TH1Clusterwidth" ,"Cluster width");
1407  simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width");
1408  }
1410  simplehitsMEs.meTrackanglealpha = bookME1D(ibooker,"TH1Trackanglealpha", "TH1Trackanglealpha" ,"Track angle alpha");
1411  simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha");
1412  }
1414  simplehitsMEs.meTrackanglebeta = bookME1D(ibooker,"TH1Trackanglebeta", "TH1Trackanglebeta" ,"Track angle beta");
1415  simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta");
1416  }
1418  simplehitsMEs.meResolxMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus1","TProfResolxMFTrackwidthProfile_WClus1","Profile of Resolution in MF vs track width for w=1");
1420  simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1",2);
1421  }
1423  simplehitsMEs.meResolxMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus2","TProfResolxMFTrackwidthProfile_WClus2","Profile of Resolution in MF vs track width for w=2");
1425  simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2",2);
1426 
1427  }
1429  simplehitsMEs.meResolxMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus3","TProfResolxMFTrackwidthProfile_WClus3","Profile of Resolution in MF vs track width for w=3");
1431  simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3",2);
1432  }
1434  simplehitsMEs.meResolxMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus4","TProfResolxMFTrackwidthProfile_WClus4","Profile of Resolution in MF vs track width for w=4");
1436  simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3",2);
1437  }
1439  simplehitsMEs.meResMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus1","TProfResMFTrackwidthProfile_WClus1","Profile of Residuals(x) in MF vs track width for w=1");
1441  simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1",2);
1442  }
1444  simplehitsMEs.meResMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus2","TProfResMFTrackwidthProfile_WClus2","Profile of Residuals(x) in MF vs track width for w=2");
1446  simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1447  }
1449  simplehitsMEs.meResMFTrackwidthProfileWClus21 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus21","TProfResMFTrackwidthProfile_WClus21","Profile of Residuals(x) in MF vs track width for w=2");
1451  simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1452  }
1454  simplehitsMEs.meResMFTrackwidthProfileWClus22 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus22","TProfResMFTrackwidthProfile_WClus22","Profile of Residuals(x) in MF vs track width for w=2");
1456  simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1457 
1458  }
1460  simplehitsMEs.meResMFTrackwidthProfileWClus23 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus23","TProfResMFTrackwidthProfile_WClus23","Profile of Residuals(x) in MF vs track width for w=2");
1462  simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1463  }
1465  simplehitsMEs.meResMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus3","TProfResMFTrackwidthProfile_WClus3","Profile of Residuals(x) in MF vs track width for w=3");
1467  simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3",2);
1468  }
1470  simplehitsMEs.meResMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus4","TProfResMFTrackwidthProfile_WClus4","Profile of Residuals(x) in MF vs track width for w=4");
1472  simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4",2);
1473  }
1475  simplehitsMEs.meResolxMFTrackwidthProfile = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile","TProfResolxMFTrackwidthProfile","Profile of Resolution in MF vs track width");
1477  simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)",2);
1478  }
1480  simplehitsMEs.meResolxMFTrackwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category1","TProfResolxMFTrackwidthProfile_Category1","Profile of Resolution in MF vs track width (Category 1)");
1482  simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1483  }
1485  simplehitsMEs.meResolxMFTrackwidthProfileCategory2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category2","TProfResolxMFTrackwidthProfile_Category2","Profile of Resolution in MF vs track width (Category 2)");
1487  simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2",2);
1488  }
1490  simplehitsMEs.meResolxMFTrackwidthProfileCategory3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category3","TProfResolxMFTrackwidthProfile_Category3","Profile of Resolution in MF vs track width (Category 3)");
1492  simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3",2);
1493  }
1495  simplehitsMEs.meResolxMFTrackwidthProfileCategory4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category4","TProfResolxMFTrackwidthProfile_Category4","Profile of Resolution in MF vs track width (Category 4)");
1497  simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4",2);
1498  }
1500  simplehitsMEs.meResolxMFClusterwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfile_Category1","TProfResolxMFClusterwidthProfile_Category1","Profile of Resolution in MF vs cluster width (Category 1)");
1502  simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1503  }
1505  simplehitsMEs.meResolxMFAngleProfile = bookMEProfile(ibooker,"TProfResolxMFAngleProfile","TProfResolxMFAngleProfile","Profile of Resolution in MF vs Track angle alpha");
1506  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha",1);
1507  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)",2);
1508  }
1509 
1510 
1511 }
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 1867 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().

1868 {
1869  SiStripHistoId hidmanager;
1870  StereoAndMatchedMEs stereoandmatchedMEs;
1871 
1872  stereoandmatchedMEs.meWclusSas = 0;
1873  stereoandmatchedMEs.meAdcSas = 0;
1874  stereoandmatchedMEs.meResolxLFSas = 0;
1875  stereoandmatchedMEs.meResolxMFSas = 0;
1876  stereoandmatchedMEs.meResLFSas = 0;
1877  stereoandmatchedMEs.meResMFSas = 0;
1878  stereoandmatchedMEs.mePullLFSas = 0;
1879  stereoandmatchedMEs.mePullMFSas = 0;
1880  stereoandmatchedMEs.meTrackangleSas = 0;
1881  stereoandmatchedMEs.meTrackanglebetaSas = 0;
1882  stereoandmatchedMEs.mePullTrackangleProfileSas = 0;
1883  stereoandmatchedMEs.meTrackwidthSas = 0;
1884  stereoandmatchedMEs.meExpectedwidthSas = 0;
1885  stereoandmatchedMEs.meClusterwidthSas = 0;
1886  stereoandmatchedMEs.meCategorySas = 0;
1887  stereoandmatchedMEs.mePullTrackwidthProfileSas = 0;
1888  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = 0;
1889  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = 0;
1890  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = 0;
1891  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = 0;
1892  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = 0;
1893  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = 0;
1894  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = 0;
1895  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = 0;
1896  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = 0;
1897  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = 0;
1898  stereoandmatchedMEs.meResolxMFAngleProfileSas = 0;
1899 
1900  stereoandmatchedMEs.mePosxMatched = 0;
1901  stereoandmatchedMEs.mePosyMatched = 0;
1902  stereoandmatchedMEs.meResolxMatched = 0;
1903  stereoandmatchedMEs.meResolyMatched = 0;
1904  stereoandmatchedMEs.meResxMatched = 0;
1905  stereoandmatchedMEs.meResyMatched = 0;
1906  stereoandmatchedMEs.mePullxMatched = 0;
1907  stereoandmatchedMEs.mePullyMatched = 0;
1908 
1909  //WclusSas
1910  if(layerswitchWclusSas) {
1911  stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,"TH1WclusSas", hidmanager.createHistoLayer("Wclus_sas","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1912  stereoandmatchedMEs.meWclusSas->setAxisTitle(("Cluster Width [nr strips] (stereo) in "+ label).c_str());
1913  }
1914  //AdcSas
1915  if(layerswitchAdcSas) {
1916  stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,"TH1AdcSas", hidmanager.createHistoLayer("Adc_sas","layer",label,"").c_str() ,"RecHit Cluster Charge");
1917  stereoandmatchedMEs.meAdcSas->setAxisTitle(("cluster charge [ADC] (stereo) in " + label).c_str());
1918  }
1919  //ResolxLFSas
1921  stereoandmatchedMEs.meResolxLFSas = bookME1D(ibooker,"TH1ResolxLFSas", hidmanager.createHistoLayer("Resolx_LF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1922  stereoandmatchedMEs.meResolxLFSas->setAxisTitle(("resol(x) RecHit coord. (local frame) (stereo) in " + label).c_str());
1923  }
1924  //ResolxMFSas
1926  stereoandmatchedMEs.meResolxMFSas = bookME1D(ibooker,"TH1ResolxMFSas", hidmanager.createHistoLayer("Resolx_MF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1927  stereoandmatchedMEs.meResolxMFSas->setAxisTitle(("resol(x) RecHit coord. (measurement frame) (stereo) in " + label).c_str());
1928  }
1929  //ResLFSas
1930  if(layerswitchResLFSas) {
1931  stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,"TH1ResLFSas", hidmanager.createHistoLayer("Res_LF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1932  stereoandmatchedMEs.meResLFSas->setAxisTitle(("Hit Residuals(x) (local frame) (stereo) in " + label).c_str());
1933  }
1934  //ResMFSas
1935  if(layerswitchResMFSas) {
1936  stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,"TH1ResMFSas", hidmanager.createHistoLayer("Res_MF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1937  stereoandmatchedMEs.meResMFSas->setAxisTitle(("Hit Residuals(x) (stereo) in " + label).c_str());
1938  }
1939  //PullLFSas
1940  if(layerswitchPullLFSas) {
1941  stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,"TH1PullLFSas", hidmanager.createHistoLayer("Pull_LF_sas","layer",label,"").c_str() ,"Pull distribution");
1942  stereoandmatchedMEs.mePullLFSas->setAxisTitle(("Pull distribution (local frame) (stereo) in " + label).c_str());
1943  }
1944  //PullMFSas
1945  if(layerswitchPullMFSas) {
1946  stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,"TH1PullMFSas", hidmanager.createHistoLayer("Pull_MF_sas","layer",label,"").c_str() ,"Pull distribution");
1947  stereoandmatchedMEs.mePullMFSas->setAxisTitle(("Pull distribution (measurement frame) (stereo) in " + label).c_str());
1948  }
1949 
1951  stereoandmatchedMEs.meTrackangleSas = bookME1D(ibooker,"TH1TrackangleSas",hidmanager.createHistoLayer("Track_angle_Sas","layer",label,"").c_str() ,"Track angle");
1952  stereoandmatchedMEs.meTrackangleSas->setAxisTitle(("Track angle (stereo) in " + label).c_str());
1953  }
1955  stereoandmatchedMEs.meTrackanglebetaSas = bookME1D(ibooker,"TH1TrackanglebetaSas",hidmanager.createHistoLayer("Track_angle_beta_Sas","layer",label,"").c_str() ,"Track angle beta");
1956  stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle(("Track angle beta (stereo) in " + label).c_str());
1957  }
1959  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)");
1960  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1);
1961  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2);
1962  }
1964  stereoandmatchedMEs.meTrackwidthSas = bookME1D(ibooker,"TH1TrackwidthSas",hidmanager.createHistoLayer("Track_width_Sas","layer",label,"").c_str() ,"Track width");
1965  stereoandmatchedMEs.meTrackwidthSas->setAxisTitle(("Track width (stereo) in " + label).c_str());
1966  }
1968  stereoandmatchedMEs.meExpectedwidthSas = bookME1D(ibooker,"TH1ExpectedwidthSas",hidmanager.createHistoLayer("Expected_width_Sas","layer",label,"").c_str() ,"Expected width");
1969  stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle(("Expected width (stereo) in " + label).c_str());
1970  }
1972  stereoandmatchedMEs.meClusterwidthSas = bookME1D(ibooker,"TH1ClusterwidthSas",hidmanager.createHistoLayer("Cluster_width_Sas","layer",label,"").c_str() ,"Cluster width");
1973  stereoandmatchedMEs.meClusterwidthSas->setAxisTitle(("Cluster width (stereo) in " + label).c_str());
1974  }
1976  stereoandmatchedMEs.meCategorySas = bookME1D(ibooker,"TH1CategorySas",hidmanager.createHistoLayer("Category_Sas","layer",label,"").c_str() ,"Category");
1977  stereoandmatchedMEs.meCategorySas->setAxisTitle(("Category (stereo) in " + label).c_str());
1978  }
1980  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)");
1981  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1);
1982  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2);
1983  }
1985  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)");
1986  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("track width (Category 1) (stereo) in " + label).c_str(),1);
1987  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("Pull in MF (Category 1) (stereo) in " + label).c_str(),2);
1988  }
1990  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)");
1991  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("track width (Category 2) (stereo) in " + label).c_str(),1);
1992  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("Pull in MF (Category 2) (stereo) in " + label).c_str(),2);
1993  }
1995  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)");
1996  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("track width (Category 3) (stereo) in " + label).c_str(),1);
1997  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("Pull in MF (Category 3) (stereo) in " + label).c_str(),2);
1998  }
2000  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)");
2001  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("track width (Category 4) (stereo) in " + label).c_str(),1);
2002  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("Pull in MF (Category 4) (stereo) in " + label).c_str(),2);
2003  }
2005  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)");
2006  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1);
2007  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2);
2008  }
2010  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)");
2011  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" track width (Category 1) (stereo) in " + label).c_str(),1);
2012  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2);
2013  }
2015  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)");
2016  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" track width (Category 2) (stereo) in " + label).c_str(),1);
2017  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" Resolution in MF (Category 2) (stereo) in " + label).c_str(),2);
2018  }
2020  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)");
2021  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" track width (Category 3) (stereo) in " + label).c_str(),1);
2022  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" Resolution in MF (Category 3) (stereo) in " + label).c_str(),2);
2023  }
2025  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)");
2026  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" track width (Category 4) (stereo) in " + label).c_str(),1);
2027  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" Resolution in MF (Category 4) (stereo) in " + label).c_str(),2);
2028  }
2030  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)");
2031  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle(("cluster width (Category 1) (stereo) in " + label).c_str(),1);
2032  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2);
2033  }
2035  stereoandmatchedMEs.meResolxMFAngleProfileSas = bookMEProfile(ibooker,"TProfResolxMFAngleProfileSas",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle (stereo)");
2036  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1);
2037  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2);
2038  }
2039  //PosxMatched
2041  stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord.");
2042  stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str());
2043  }
2044  //PosyMatched
2046  stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord.");
2047  stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str());
2048  }
2049  //ResolxMatched
2051  stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord.");
2052  stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str());
2053  }
2054  //ResolyMatched
2056  stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord.");
2057  stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str());
2058  }
2059  //ResxMatched
2061  stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2062  stereoandmatchedMEs.meResxMatched->setAxisTitle(("Residuals(x) in matched RecHit in " + label).c_str());
2063  }
2064  //ResyMatched
2066  stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2067  stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str());
2068  }
2069 
2070  StereoAndMatchedMEsMap[label]=stereoandmatchedMEs;
2071 
2072 }
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!=0)ME->Fill(value1);}
void Fill(long long x)
void SiStripTrackingRecHitsValid::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 418 of file SiStripTrackingRecHitsValid.h.

References MonitorElement::Fill().

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

Definition at line 419 of file SiStripTrackingRecHitsValid.h.

References MonitorElement::Fill().

419 {if (ME!=0)ME->Fill(value1,value2,value3);}
void Fill(long long x)
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!=0)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 889 of file SiStripTrackingRecHitsValid.cc.

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

Referenced by rechitanalysis_matched().

894 {
895  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
896  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
897 
898  const StripTopology & topol = stripDet->specificTopology();
899  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
900  LocalPoint localHit = plane.toLocal(globalpos);
901  //track direction
902  LocalVector locdir = hit.localDirection();
903  //rotate track in new frame
904 
905  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
906  LocalVector dir = plane.toLocal(globaldir);
907  float scale = -localHit.z() / dir.z();
908 
909  LocalPoint projectedPos = localHit + scale * dir;
910 
911  // std::cout << "projectedPos " << projectedPos << std::endl;
912 
913  float selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
914 
915  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
916 
917  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
918 
919  return std::pair < LocalPoint, LocalVector > (projectedPos, localStripDir);
920 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
virtual float stripAngle(float strip) const =0
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
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:40
virtual float strip(const LocalPoint &) const =0
Local3DPoint localPosition() const
Definition: PSimHit.h:44
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 ( TrajectoryStateOnSurface  tsos,
const TransientTrackingRecHit::ConstRecHitPointer  thit,
const StripGeomDetUnit stripdet,
edm::ESHandle< StripClusterParameterEstimator stripcpe,
TrackerHitAssociator associate,
bool  simplehit1or2D 
)
private

Definition at line 1094 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), TrackerHitAssociator::associateHit(), Surface::bounds(), SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, SiStripRecHit1D::cluster(), SiStripRecHit2D::cluster(), shallow::drift(), relativeConstraints::error, SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, TrackingRecHit::hit(), TrajectoryStateOnSurface::localDirection(), StripTopology::localPitch(), PSimHit::localPosition(), TrackingRecHit::localPosition(), TrackingRecHit::localPositionError(), visualization-live-secondInstance_cfg::m, matched, bookConverter::max, Topology::measurementError(), Topology::measurementPosition(), NULL, 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().

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

Definition at line 922 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), TrackerHitAssociator::associateHit(), Surface::bounds(), SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, SiStripRecHit2D::cluster(), shallow::drift(), relativeConstraints::error, SiStripTrackingRecHitsValid::RecHitProperties::expectedwidth, TrackingRecHit::hit(), TrajectoryStateOnSurface::localDirection(), StripTopology::localPitch(), PSimHit::localPosition(), BaseTrackerRecHit::localPosition(), TrackingRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), TrackingRecHit::localPositionError(), visualization-live-secondInstance_cfg::m, matched, bookConverter::max, Topology::measurementError(), Topology::measurementPosition(), GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), monoHit, NULL, 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().

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

Definition at line 442 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), and SiStripTrackingRecHitsValid().