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 Member Functions | Private Attributes
SiStripTrackingRecHitsValid Class Reference

#include <SiStripTrackingRecHitsValid.h>

Inheritance diagram for SiStripTrackingRecHitsValid:
thread_unsafe::DQMEDAnalyzer edm::EDAnalyzer 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 thread_unsafe::DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 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 (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) 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 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, std::string 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
 
std::vector< RecHitPropertiesrechitmatched
 
RecHitProperties rechitpro
 
std::vector< RecHitPropertiesrechitrphi
 
std::vector< RecHitPropertiesrechitstereo
 
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
 
edm::EDGetTokenT< std::vector
< Trajectory > > 
trajectoryInputToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 75 of file SiStripTrackingRecHitsValid.h.

Constructor & Destructor Documentation

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

Definition at line 46 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_.

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

Definition at line 431 of file SiStripTrackingRecHitsValid.cc.

431  {
432 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 459 of file SiStripTrackingRecHitsValid.cc.

References SiStripTrackingRecHitsValid::RecHitProperties::category, SiStripTrackingRecHitsValid::RecHitProperties::cluchg, SiStripTrackingRecHitsValid::RecHitProperties::clusiz, conf_, cond::rpcobgas::detid, 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_, 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(), edm::ESHandle< class >::product(), SiStripTrackingRecHitsValid::RecHitProperties::pullx, SiStripTrackingRecHitsValid::RecHitProperties::pullxMF, SiStripTrackingRecHitsValid::RecHitProperties::pully, rechitanalysis(), rechitanalysis_matched(), rechitmatched, rechitpro, rechitrphi, rechitstereo, 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(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), track_rapidity, SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackanglebeta, patCandidatesForDimuonsSequences_cff::tracker, SiStripTrackingRecHitsValid::RecHitProperties::trackwidth, trajectoryInputToken_, PV3DBase< T, PVType, FrameType >::transverse(), SiStripTrackingRecHitsValid::RecHitProperties::x, and SiStripTrackingRecHitsValid::RecHitProperties::y.

460 {
461 
462  LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event();
463  //cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl;
464 
465  int isrechitrphi = 0;
466  int isrechitsas = 0;
467  int isrechitmatched = 0;
468 
469  DetId detid;
470  uint32_t myid;
471 
472  TrackerHitAssociator associate(e, conf_);
473  PSimHit closest;
474 
475  //Retrieve tracker topology from geometry
476  edm::ESHandle<TrackerTopology> tTopoHandle;
477  es.get<IdealGeometryRecord>().get(tTopoHandle);
478  const TrackerTopology* const tTopo = tTopoHandle.product();
479 
481  es.get < TrackerDigiGeometryRecord > ().get(pDD);
482  const TrackerGeometry & tracker(*pDD);
483 
484  const TrackerGeometry *tracker2;
486  es.get < TrackerDigiGeometryRecord > ().get(estracker);
487  tracker2 = &(*estracker);
488 
490  es.get < IdealMagneticFieldRecord > ().get(magfield);
491 
492  const MagneticField & magfield_(*magfield);
493  magfield2_ = &magfield_;
494 
496  es.get < TkStripCPERecord > ().get("SimpleStripCPE", stripcpe);
497 
498  // Mangano's
499 
500  edm::Handle < std::vector<Trajectory> > trajCollectionHandle;
501  e.getByToken(trajectoryInputToken_, trajCollectionHandle);
502 
503  edm::LogVerbatim("TrajectoryAnalyzer") << "trajColl->size(): " << trajCollectionHandle->size();
504 
505  for (vector < Trajectory >::const_iterator it = trajCollectionHandle->begin(); it != trajCollectionHandle->end(); it++) {
506 
507  edm::LogVerbatim("TrajectoryAnalyzer") << "this traj has " << it->foundHits() << " valid hits" << " , " << "isValid: " << it->isValid();
508 
509  vector < TrajectoryMeasurement > tmColl = it->measurements();
510  for (vector < TrajectoryMeasurement >::const_iterator itTraj = tmColl.begin(); itTraj != tmColl.end(); itTraj++) {
511  if (!itTraj->updatedState().isValid()) continue;
512 
513  rechitrphi.clear();
514  rechitstereo.clear();
515  rechitmatched.clear();
516 
517  //edm::LogVerbatim("TrajectoryAnalyzer") << "tm number: " <<
518  // (itTraj - tmColl.begin()) + 1<< " , " << "tm.backwardState.pt: " <<
519  // itTraj->backwardPredictedState().globalMomentum().perp() << " , " <<
520  // "tm.forwardState.pt: " << itTraj->forwardPredictedState().globalMomentum().perp() <<
521  // " , " << "tm.updatedState.pt: " << itTraj->updatedState().globalMomentum().perp() <<
522  // " , " << "tm.globalPos.perp: " << itTraj->updatedState().globalPosition().perp();
523 
524  if (itTraj->updatedState().globalMomentum().perp() < 0.5) continue;
525 
526  TrajectoryStateOnSurface tsos = itTraj->updatedState();
527 
528  DetId detid2 = itTraj->recHit()->geographicalId();
529 
530  const TransientTrackingRecHit::ConstRecHitPointer thit2 = itTraj->recHit();
531  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast < const SiStripMatchedRecHit2D * >((*thit2).hit());
532  const SiStripRecHit2D *hit2d = dynamic_cast < const SiStripRecHit2D * >((*thit2).hit());
533  const SiStripRecHit1D *hit1d = dynamic_cast < const SiStripRecHit1D * >((*thit2).hit());
534  //if(matchedhit) cout<<"manganomatchedhit"<<endl;
535  //if(hit) cout<<"manganosimplehit"<<endl;
536  //if (hit && matchedhit) cout<<"manganosimpleandmatchedhit"<<endl;
537  const TrackingRecHit *thit = (*thit2).hit();
538 
539  detid = (thit)->geographicalId();
540  myid = ((thit)->geographicalId()).rawId();
541  //Here due to the fact that the SiStripHistoId::getSubdetid complains when
542  //a subdet of 1 or 2 appears we add an if statement.
543  if(detid.subdetId()==1 ||detid.subdetId()==2 ){
544  continue;
545  }
546  SiStripHistoId hidmanager;
547  std::string label = hidmanager.getSubdetid(myid,tTopo,true);
548  // std::cout<< "label " << label << " and id " << detid.subdetId() << std::endl;
549 
550  StripSubdetector StripSubdet = (StripSubdetector) detid;
551  //Variable to define the case we are dealing with
552  std::string matchedmonorstereo;
553 
554  isrechitmatched = 0;
555 
556  if (matchedhit) {
557 
558  isrechitmatched = 1;
559  const GluedGeomDet *gluedDet = (const GluedGeomDet *) tracker.idToDet(matchedhit->geographicalId());
560  //Analysis
561  matchedmonorstereo = "matched";
562  rechitanalysis_matched(tsos, thit2, gluedDet, associate, stripcpe, matchedmonorstereo );
563  // rechitmatched.push_back(rechitpro);
564 
565  }
566 
567  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
568 
569  //Filling Histograms for Matched hits
570 
571  if (isrechitmatched) {
572 
573  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
574  fillME(iStereoAndMatchedME->second.mePosxMatched,rechitpro.x);
575  fillME(iStereoAndMatchedME->second.mePosyMatched,rechitpro.y);
576  fillME(iStereoAndMatchedME->second.meResolxMatched,sqrt(rechitpro.resolxx));
577  fillME(iStereoAndMatchedME->second.meResolyMatched,sqrt(rechitpro.resolyy));
578  fillME(iStereoAndMatchedME->second.meResxMatched,rechitpro.resx);
579  fillME(iStereoAndMatchedME->second.meResyMatched,rechitpro.resy);
580  fillME(iStereoAndMatchedME->second.mePullxMatched,rechitpro.pullx);
581  fillME(iStereoAndMatchedME->second.mePullyMatched,rechitpro.pully);
582  }
583 
584  }
585 
586  //Reset Variables here for the current event
587  isrechitrphi = 0;
588  isrechitsas = 0;
589 
591  // simple hits from matched hits
593 
594  if (tsos.globalDirection().transverse() != 0) {
596  } else {
597  track_rapidity = -999.0;
598  }
599 
600  GluedGeomDet *gdet;
601  const SiStripRecHit2D *monohit;
602 
603  if (matchedhit) {
604  auto hm = matchedhit->monoHit();
605  monohit = &hm;
606  // const GeomDetUnit * monodet=gdet->monoDet();
607  gdet = (GluedGeomDet *) tracker2->idToDet(matchedhit->geographicalId());
608 
609  if (monohit) {
610 
611  isrechitrphi = 1;
612 
613  //Analysis
614  matchedmonorstereo = "monoHit";
615  rechitanalysis_matched(tsos, thit2, gdet, associate, stripcpe, matchedmonorstereo );
616 
617  }
618 
619  auto s = matchedhit->stereoHit();
620  const SiStripRecHit2D *stereohit = &s;
621 
622  if (stereohit) {
623 
624  isrechitsas = 1;
625 
626  //Analysis
627  matchedmonorstereo = "stereoHit";
628  rechitanalysis_matched(tsos, thit2, gdet, associate, stripcpe, matchedmonorstereo );
629  }
630  }
631 
632  if (hit1d) {
633  // simple hits are mono or stereo
634  // cout<<"simple hit"<<endl;
635  if (StripSubdet.stereo() == 0) {
636  isrechitrphi = 1;
637  // cout<<"simple hit mono"<<endl;
638 
639  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
640  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
641 
642  //Analysis for hit1d mono
643  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, true);
644 
645  }
646 
647  if (StripSubdet.stereo() == 1) {
648 
649  //cout<<"simple hit stereo"<<endl;
650  isrechitsas = 1;
651 
652  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
653  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
654 
655  //Analysis for hit1d stereo
656  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, true);
657 
658  }
659  }
660 
661 
662  if (hit2d) {
663  // simple hits are mono or stereo
664  // cout<<"simple hit"<<endl;
665  if (StripSubdet.stereo() == 0) {
666  isrechitrphi = 1;
667  // cout<<"simple hit mono"<<endl;
668 
669  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
670  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
671 
672  //Analysis for hit2d mono
673  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, false);
674 
675  }
676 
677  if (StripSubdet.stereo() == 1) {
678 
679  //cout<<"simple hit stereo"<<endl;
680  isrechitsas = 1;
681 
682  const GeomDetUnit *det = tracker.idToDetUnit(detid2);
683  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (det);
684 
685  //Analysis for hit2d stereo
686  rechitanalysis(tsos, thit2, stripdet, stripcpe, associate, false);
687 
688  }
689  }
690 
691  //Filling Histograms for simple hits
692  //cout<<"isrechitrphi,isrechitsas = "<<isrechitrphi<<","<<isrechitsas<<endl;
693 
694  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
695 
696  if (isrechitrphi > 0 || isrechitsas > 0) {
697 
698 
699 
700  if (isrechitrphi > 0) {
701 
708 
711 
712  if (rechitpro.clusiz == 1) {
715  }
716  if (rechitpro.clusiz == 2) {
722  }
723  if (rechitpro.clusiz == 3) {
726  }
727  if (rechitpro.clusiz == 4) {
730  }
731 
732  if (rechitpro.category == 1) {
735  }
736  if (rechitpro.category == 2) {
738  }
739  if (rechitpro.category == 3) {
741  }
742  if (rechitpro.category == 4) {
744  }
745 
752 
753  }
754 
755  if (isrechitsas > 0) {
756 
763 
766 
767  if (rechitpro.clusiz == 1) {
770  }
771 
772  if (rechitpro.clusiz == 2) {
775  }
776  if (rechitpro.clusiz == 3) {
779  }
780  if (rechitpro.clusiz == 4) {
783  }
784  if (rechitpro.category == 1) {
787  }
788  if (rechitpro.category == 2) {
790  }
791  if (rechitpro.category == 3) {
793  }
794  if (rechitpro.category == 4) {
796  }
797 
804 
805  }
806 
807 
808 
809  if(iLayerME != LayerMEsMap.end()){
810 
811  if (isrechitrphi > 0) {
812 
813  fillME(iLayerME->second.meWclusRphi,rechitpro.clusiz);
814  fillME(iLayerME->second.meAdcRphi,rechitpro.cluchg);
815  fillME(iLayerME->second.meResolxLFRphi,sqrt(rechitpro.resolxx));
816  fillME(iLayerME->second.meResolxMFRphi,sqrt(rechitpro.resolxxMF));
817 
818  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResolxMFRphiwclus1,sqrt(rechitpro.resolxxMF));}
819  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResolxMFRphiwclus2,sqrt(rechitpro.resolxxMF));}
820  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResolxMFRphiwclus3,sqrt(rechitpro.resolxxMF));}
821  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResolxMFRphiwclus4,sqrt(rechitpro.resolxxMF));}
822 
823  fillME(iLayerME->second.meResLFRphi,rechitpro.resx);
824  fillME(iLayerME->second.meResMFRphi,rechitpro.resxMF);
825 
826  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.merapidityResProfilewclus1,track_rapidity, fabs(rechitpro.resxMF));}
827  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.merapidityResProfilewclus2,track_rapidity, fabs(rechitpro.resxMF));}
828  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.merapidityResProfilewclus3,track_rapidity, fabs(rechitpro.resxMF));}
829  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.merapidityResProfilewclus4,track_rapidity, fabs(rechitpro.resxMF));}
830 
831  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.meResMFRphiwclus1,rechitpro.resxMF);}
832  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.meResMFRphiwclus2,rechitpro.resxMF);}
833  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.meResMFRphiwclus3,rechitpro.resxMF);}
834  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.meResMFRphiwclus4,rechitpro.resxMF);}
835 
836  fillME(iLayerME->second.mePullLFRphi,rechitpro.pullx);
837  fillME(iLayerME->second.mePullMFRphi,rechitpro.pullxMF);
838 
839  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullMFRphiwclus1,rechitpro.pullxMF);}
840  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullMFRphiwclus2,rechitpro.pullxMF);}
841  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullMFRphiwclus3,rechitpro.pullxMF);}
842  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullMFRphiwclus4,rechitpro.pullxMF);}
843 
844 
845  fillME(iLayerME->second.meTrackangleRphi,rechitpro.trackangle);
846  fillME(iLayerME->second.mePullTrackangleProfileRphi,rechitpro.trackangle,fabs(rechitpro.pullxMF));
847 
848  if( (min(rechitpro.clusiz, 4) - 1) == 1 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus1,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
849  if( (min(rechitpro.clusiz, 4) - 1) == 2 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus2,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
850  if( (min(rechitpro.clusiz, 4) - 1) == 3 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus3,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
851  if( (min(rechitpro.clusiz, 4) - 1) == 4 ){fillME(iLayerME->second.mePullTrackwidthProfileRphiwclus4,rechitpro.trackwidth, fabs(rechitpro.pullxMF));}
852 
853 
854  if (rechitpro.clusiz == 1) {
855  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
856  fillME(iLayerME->second.meResMFTrackwidthProfileWclus1Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
857  }
858  if (rechitpro.clusiz == 2) {
859  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
860  fillME(iLayerME->second.meResMFTrackwidthProfileWclus2Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
861  }
862  if (rechitpro.clusiz == 3) {
863  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
864  fillME(iLayerME->second.meResMFTrackwidthProfileWclus3Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
865  }
866  if (rechitpro.clusiz == 4) {
867  fillME(iLayerME->second.meResolxMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
868  fillME(iLayerME->second.meResMFTrackwidthProfileWclus4Rphi,rechitpro.trackwidth,fabs(rechitpro.resxMF));
869  }
870 
871 
872  if (rechitpro.category == 1) {
873  fillME(iLayerME->second.mePullTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
874  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory1Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
875  fillME(iLayerME->second.meResolxMFClusterwidthProfileCategory1Rphi,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
876  }
877  if (rechitpro.category == 2) {
878  fillME(iLayerME->second.mePullTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
879  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory2Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
880  }
881  if (rechitpro.category == 3) {
882  fillME(iLayerME->second.mePullTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
883  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory3Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
884  }
885  if (rechitpro.category == 4) {
886  fillME(iLayerME->second.mePullTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,fabs(rechitpro.pullxMF));
887  fillME(iLayerME->second.meResolxMFTrackwidthProfileCategory4Rphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
888  }
889 
890  fillME(iLayerME->second.meTrackwidthRphi,rechitpro.trackwidth);
891  fillME(iLayerME->second.meExpectedwidthRphi,rechitpro.expectedwidth);
892  fillME(iLayerME->second.meClusterwidthRphi,rechitpro.clusiz);
893  fillME(iLayerME->second.meCategoryRphi,rechitpro.category);
894  fillME(iLayerME->second.meResolxMFTrackwidthProfileRphi,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
895  fillME(iLayerME->second.meResolxMFAngleProfileRphi,rechitpro.trackangle,sqrt(rechitpro.resolxxMF));
896  }
897 
898  }
899 
900  if(iStereoAndMatchedME != StereoAndMatchedMEsMap.end()){
901 
902  if (isrechitsas > 0) {
903 
904  fillME(iStereoAndMatchedME->second.meWclusSas,rechitpro.clusiz);
905  fillME(iStereoAndMatchedME->second.meAdcSas,rechitpro.cluchg);
906  fillME(iStereoAndMatchedME->second.meResolxLFSas,sqrt(rechitpro.resolxx));
907  fillME(iStereoAndMatchedME->second.meResLFSas,rechitpro.resx);
908  fillME(iStereoAndMatchedME->second.mePullLFSas,rechitpro.pullx);
909  fillME(iStereoAndMatchedME->second.meResolxMFSas,sqrt(rechitpro.resolxxMF));
910  fillME(iStereoAndMatchedME->second.meResMFSas,rechitpro.resxMF);
911  fillME(iStereoAndMatchedME->second.mePullMFSas,rechitpro.pullxMF);
912  fillME(iStereoAndMatchedME->second.meTrackangleSas,rechitpro.trackangle);
913  fillME(iStereoAndMatchedME->second.mePullTrackangleProfileSas,rechitpro.trackangle, rechitpro.pullxMF);
914  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileSas,rechitpro.trackwidth, rechitpro.pullxMF);
915  if (rechitpro.category == 1) {
916  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory1Sas,rechitpro.trackwidth,rechitpro.pullxMF);
917  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory1Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
918  fillME(iStereoAndMatchedME->second.meResolxMFClusterwidthProfileCategory1Sas,rechitpro.clusiz,sqrt(rechitpro.resolxxMF));
919  }
920  if (rechitpro.category == 2) {
921  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory2Sas,rechitpro.trackwidth,rechitpro.pullxMF);
922  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory2Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
923  }
924  if (rechitpro.category == 3) {
925  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory3Sas,rechitpro.trackwidth,rechitpro.pullxMF);
926  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory3Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
927  }
928  if (rechitpro.category == 4) {
929  fillME(iStereoAndMatchedME->second.mePullTrackwidthProfileCategory4Sas,rechitpro.trackwidth,rechitpro.pullxMF);
930  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileCategory4Sas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
931  }
932  fillME(iStereoAndMatchedME->second.meTrackwidthSas,rechitpro.trackwidth);
933  fillME(iStereoAndMatchedME->second.meExpectedwidthSas,rechitpro.expectedwidth);
934  fillME(iStereoAndMatchedME->second.meClusterwidthSas,rechitpro.clusiz);
935  fillME(iStereoAndMatchedME->second.meCategorySas,rechitpro.category);
936  fillME(iStereoAndMatchedME->second.meResolxMFTrackwidthProfileSas,rechitpro.trackwidth,sqrt(rechitpro.resolxxMF));
937  fillME(iStereoAndMatchedME->second.meResolxMFAngleProfileSas,rechitpro.trackangle, rechitpro.resolxxMF);
938  }
939 
940  }
941 
942 
943  } //simplehits
944  //cout<<"DebugLine301"<<endl;
945 
946  }
947  //cout<<"DebugLine302"<<endl;
948 
949  }
950  //cout<<"DebugLine303"<<endl;
951 
952 }
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:446
void fillME(MonitorElement *ME, float value1)
std::vector< RecHitProperties > rechitstereo
edm::EDGetTokenT< std::vector< Trajectory > > trajectoryInputToken_
tuple magfield
Definition: HLT_ES_cff.py:2311
void rechitanalysis_matched(TrajectoryStateOnSurface tsos, const TransientTrackingRecHit::ConstRecHitPointer thit, const GluedGeomDet *gluedDet, TrackerHitAssociator &associate, edm::ESHandle< StripClusterParameterEstimator > stripcpe, std::string matchedmonorstereo)
std::map< std::string, LayerMEs > LayerMEsMap
T transverse() const
Definition: PV3DBase.h:73
std::vector< RecHitProperties > rechitmatched
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< RecHitProperties > rechitrphi
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:56
DetId geographicalId() const
GlobalVector globalDirection() const
virtual const TrackerGeomDet * idToDet(DetId) const
void SiStripTrackingRecHitsValid::beginJob ( const edm::EventSetup es)
protected

Definition at line 447 of file SiStripTrackingRecHitsValid.cc.

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

Implements thread_unsafe::DQMEDAnalyzer.

Definition at line 434 of file SiStripTrackingRecHitsValid.cc.

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

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

Definition at line 2134 of file SiStripTrackingRecHitsValid.cc.

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

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

2135 {
2136  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2137  return ibooker.book1D(HistoName,HistoTitle,
2138  Parameters.getParameter<int32_t>("Nbinx"),
2139  Parameters.getParameter<double>("xmin"),
2140  Parameters.getParameter<double>("xmax")
2141  );
2142 }
T getParameter(std::string const &) const
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 
)
private

Definition at line 2144 of file SiStripTrackingRecHitsValid.cc.

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

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

2145 {
2146  Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel);
2147  //The number of channels in Y is disregarded in a profile plot.
2148  return ibooker.bookProfile(HistoName,HistoTitle,
2149  Parameters.getParameter<int32_t>("Nbinx"),
2150  Parameters.getParameter<double>("xmin"),
2151  Parameters.getParameter<double>("xmax"),
2152  Parameters.getParameter<double>("ymin"),
2153  Parameters.getParameter<double>("ymax"),
2154  ""
2155  );
2156 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
std::string HistoName
void SiStripTrackingRecHitsValid::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

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

1574 {
1575  SiStripHistoId hidmanager;
1576  LayerMEs layerMEs;
1577 
1578  layerMEs.meWclusRphi = 0;
1579  layerMEs.meAdcRphi = 0;
1580  layerMEs.meResolxLFRphi = 0;
1581  layerMEs.meResolxMFRphi = 0;
1582  layerMEs.meResolxMFRphiwclus1 = 0;
1583  layerMEs.meResolxMFRphiwclus2 = 0;
1584  layerMEs.meResolxMFRphiwclus3 = 0;
1585  layerMEs.meResolxMFRphiwclus4 = 0;
1586  layerMEs.meResLFRphi = 0;
1587  layerMEs.meResMFRphi = 0;
1588  layerMEs.meResMFRphiwclus1 = 0;
1589  layerMEs.meResMFRphiwclus2 = 0;
1590  layerMEs.meResMFRphiwclus3 = 0;
1591  layerMEs.meResMFRphiwclus4 = 0;
1592  layerMEs.mePullLFRphi = 0;
1593  layerMEs.mePullMFRphi = 0;
1594  layerMEs.mePullMFRphiwclus1 = 0;
1595  layerMEs.mePullMFRphiwclus2 = 0;
1596  layerMEs.mePullMFRphiwclus3 = 0;
1597  layerMEs.mePullMFRphiwclus4 = 0;
1598  layerMEs.meTrackangleRphi = 0;
1599  layerMEs.meTrackanglebetaRphi = 0;
1600  layerMEs.meTrackangle2Rphi = 0;
1601  layerMEs.mePullTrackangleProfileRphi = 0;
1602  layerMEs.mePullTrackangle2DRphi = 0;
1603  layerMEs.meTrackwidthRphi = 0;
1604  layerMEs.meExpectedwidthRphi = 0;
1605  layerMEs.meClusterwidthRphi = 0;
1606  layerMEs.meCategoryRphi = 0;
1607  layerMEs.mePullTrackwidthProfileRphi = 0;
1608  layerMEs.mePullTrackwidthProfileRphiwclus1 = 0;
1609  layerMEs.mePullTrackwidthProfileRphiwclus2 = 0;
1610  layerMEs.mePullTrackwidthProfileRphiwclus3 = 0;
1611  layerMEs.mePullTrackwidthProfileRphiwclus4 = 0;
1612  layerMEs.mePullTrackwidthProfileCategory1Rphi = 0;
1613  layerMEs.mePullTrackwidthProfileCategory2Rphi = 0;
1614  layerMEs.mePullTrackwidthProfileCategory3Rphi = 0;
1615  layerMEs.mePullTrackwidthProfileCategory4Rphi = 0;
1616  layerMEs.meResolxMFTrackwidthProfileRphi = 0;
1617 
1618  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi = 0;
1619  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi = 0;
1620  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi = 0;
1621  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi = 0;
1622  layerMEs.meResMFTrackwidthProfileWclus1Rphi = 0;
1623  layerMEs.meResMFTrackwidthProfileWclus2Rphi = 0;
1624  layerMEs.meResMFTrackwidthProfileWclus3Rphi = 0;
1625  layerMEs.meResMFTrackwidthProfileWclus4Rphi = 0;
1626 
1627  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi = 0;
1628  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi = 0;
1629  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi = 0;
1630  layerMEs.meResolxMFTrackwidthProfileCategory4Rphi = 0;
1631  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi = 0;
1632  layerMEs.meResolxMFAngleProfileRphi = 0;
1633  layerMEs.merapidityResProfilewclus1 = 0;
1634  layerMEs.merapidityResProfilewclus2 = 0;
1635  layerMEs.merapidityResProfilewclus3 = 0;
1636  layerMEs.merapidityResProfilewclus4 = 0;
1637 
1638 
1639  //WclusRphi
1640  if(layerswitchWclusRphi) {
1641  layerMEs.meWclusRphi = bookME1D(ibooker,"TH1WclusRphi", hidmanager.createHistoLayer("Wclus_rphi","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1642  layerMEs.meWclusRphi->setAxisTitle(("Cluster Width [nr strips] in "+ label).c_str());
1643  }
1644  //AdcRphi
1645  if(layerswitchAdcRphi) {
1646  layerMEs.meAdcRphi = bookME1D(ibooker,"TH1AdcRphi", hidmanager.createHistoLayer("Adc_rphi","layer",label,"").c_str() ,"RecHit Cluster Charge");
1647  layerMEs.meAdcRphi->setAxisTitle(("cluster charge [ADC] in " + label).c_str());
1648  }
1649  //ResolxLFRphi
1651  layerMEs.meResolxLFRphi = bookME1D(ibooker,"TH1ResolxLFRphi", hidmanager.createHistoLayer("Resolx_LF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1652  layerMEs.meResolxLFRphi->setAxisTitle(("resol(x) RecHit coord. (local frame) in " + label).c_str());
1653  }
1654  //ResolxMFRphi
1656  layerMEs.meResolxMFRphi = bookME1D(ibooker,"TH1ResolxMFRphi", hidmanager.createHistoLayer("Resolx_MF_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord."); //<resolor>~20micron
1657  layerMEs.meResolxMFRphi->setAxisTitle(("resol(x) RecHit coord. (measurement frame) in " + label).c_str());
1658  }
1659  //ResolxMFRphiwclus1
1661  layerMEs.meResolxMFRphiwclus1 = bookME1D(ibooker,"TH1ResolxMFRphiwclus1", hidmanager.createHistoLayer("Resolx_MF_wclus1_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=1 "); //<resolor>~20micron
1662  layerMEs.meResolxMFRphiwclus1->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=1 in " + label).c_str());
1663  }
1664  //ResolxMFRphiwclus2
1666  layerMEs.meResolxMFRphiwclus2 = bookME1D(ibooker,"TH1ResolxMFRphiwclus2", hidmanager.createHistoLayer("Resolx_MF_wclus2_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=2 "); //<resolor>~20micron
1667  layerMEs.meResolxMFRphiwclus2->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=2 in " + label).c_str());
1668  }
1669  //ResolxMFRphiwclus3
1671  layerMEs.meResolxMFRphiwclus3 = bookME1D(ibooker,"TH1ResolxMFRphiwclus3", hidmanager.createHistoLayer("Resolx_MF_wclus3_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=3 "); //<resolor>~20micron
1672  layerMEs.meResolxMFRphiwclus3->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=3 in " + label).c_str());
1673  }
1674  //ResolxMFRphiwclus4
1676  layerMEs.meResolxMFRphiwclus4 = bookME1D(ibooker,"TH1ResolxMFRphiwclus4", hidmanager.createHistoLayer("Resolx_MF_wclus4_rphi","layer",label,"").c_str() ,"RecHit resol(x) coord. w=4 "); //<resolor>~20micron
1677  layerMEs.meResolxMFRphiwclus4->setAxisTitle(("resol(x) RecHit coord. (measurement frame) for w=4 in " + label).c_str());
1678  }
1679  //ResLFRphi
1680  if(layerswitchResLFRphi) {
1681  layerMEs.meResLFRphi = bookME1D(ibooker,"TH1ResLFRphi", hidmanager.createHistoLayer("Res_LF_rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1682  layerMEs.meResLFRphi->setAxisTitle(("Hit Residuals(x) (local frame) in " + label).c_str());
1683  }
1684  //ResMFRphi
1685  if(layerswitchResMFRphi) {
1686  layerMEs.meResMFRphi = bookME1D(ibooker,"TH1ResMFRphi",hidmanager.createHistoLayer("Res_MF_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1687  layerMEs.meResMFRphi->setAxisTitle(("Hit Residuals(x) (measurement frame) in "+ label).c_str());
1688  }
1689  //ResMFRphiwclus1
1691  layerMEs.meResMFRphiwclus1 = bookME1D(ibooker,"TH1ResMFRphiwclus1",hidmanager.createHistoLayer("Res_MF_wclus1_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=1");
1692  layerMEs.meResMFRphiwclus1->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=1 in "+ label).c_str());
1693  }
1694  //ResMFRphiwclus2
1696  layerMEs.meResMFRphiwclus2 = bookME1D(ibooker,"TH1ResMFRphiwclus2",hidmanager.createHistoLayer("Res_MF_wclus2_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=2");
1697  layerMEs.meResMFRphiwclus2->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=2 in "+ label).c_str());
1698  }
1699  //ResMFRphiwclus3
1701  layerMEs.meResMFRphiwclus3 = bookME1D(ibooker,"TH1ResMFRphiwclus3",hidmanager.createHistoLayer("Res_MF_wclus3_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=3");
1702  layerMEs.meResMFRphiwclus3->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=3 in "+ label).c_str());
1703  }
1704  //ResMFRphiwclus4
1706  layerMEs.meResMFRphiwclus4 = bookME1D(ibooker,"TH1ResMFRphiwclus4",hidmanager.createHistoLayer("Res_MF_wclus4_Rphi","layer",label,"").c_str() ,"Residual of the hit x coordinate w=4");
1707  layerMEs.meResMFRphiwclus4->setAxisTitle(("Hit Residuals(x) (measurement frame) for w=4 in "+ label).c_str());
1708  }
1709  //PullLFRphi
1710  if(layerswitchPullLFRphi) {
1711  layerMEs.mePullLFRphi = bookME1D(ibooker,"TH1PullLFRphi", hidmanager.createHistoLayer("Pull_LF_rphi","layer",label,"").c_str() ,"Pull distribution");
1712  layerMEs.mePullLFRphi->setAxisTitle(("Pull distribution (local frame) in " + label).c_str());
1713  }
1714  //PullMFRphi
1715  if(layerswitchPullMFRphi) {
1716  layerMEs.mePullMFRphi = bookME1D(ibooker,"TH1PullMFRphi", hidmanager.createHistoLayer("Pull_MF_rphi","layer",label,"").c_str() ,"Pull distribution");
1717  layerMEs.mePullMFRphi->setAxisTitle(("Pull distribution (measurement frame) in " + label).c_str());
1718  }
1719  //PullMFRphiwclus1
1721  layerMEs.mePullMFRphiwclus1 = bookME1D(ibooker,"TH1PullMFRphiwclus1", hidmanager.createHistoLayer("Pull_MF_wclus1_rphi","layer",label,"").c_str() ,"Pull distribution w=1");
1722  layerMEs.mePullMFRphiwclus1->setAxisTitle(("Pull distribution (measurement frame) for w=1 in " + label).c_str());
1723  }
1724  //PullMFRphiwclus2
1726  layerMEs.mePullMFRphiwclus2 = bookME1D(ibooker,"TH1PullMFRphiwclus2", hidmanager.createHistoLayer("Pull_MF_wclus2_rphi","layer",label,"").c_str() ,"Pull distribution w=2");
1727  layerMEs.mePullMFRphiwclus2->setAxisTitle(("Pull distribution (measurement frame) for w=2 in " + label).c_str());
1728  }
1729  //PullMFRphiwclus3
1731  layerMEs.mePullMFRphiwclus3 = bookME1D(ibooker,"TH1PullMFRphiwclus3", hidmanager.createHistoLayer("Pull_MF_wclus3_rphi","layer",label,"").c_str() ,"Pull distribution w=3");
1732  layerMEs.mePullMFRphiwclus3->setAxisTitle(("Pull distribution (measurement frame) for w=3 in " + label).c_str());
1733  }
1734  //PullMFRphiwclus4
1736  layerMEs.mePullMFRphiwclus4 = bookME1D(ibooker,"TH1PullMFRphiwclus4", hidmanager.createHistoLayer("Pull_MF_wclus4_rphi","layer",label,"").c_str() ,"Pull distribution w=4");
1737  layerMEs.mePullMFRphiwclus4->setAxisTitle(("Pull distribution (measurement frame) for w=4 in " + label).c_str());
1738  }
1739 
1741  layerMEs.meTrackangleRphi = bookME1D(ibooker,"TH1TrackangleRphi",hidmanager.createHistoLayer("Track_angle_Rphi","layer",label,"").c_str() ,"Track angle alpha");
1742  layerMEs.meTrackangleRphi->setAxisTitle(("Track angle in "+ label).c_str());
1743  }
1745  layerMEs.meTrackanglebetaRphi = bookME1D(ibooker,"TH1TrackanglebetaRphi",hidmanager.createHistoLayer("Track_angle_beta_Rphi","layer",label,"").c_str() ,"Track angle beta");
1746  layerMEs.meTrackanglebetaRphi->setAxisTitle((""+ label).c_str());
1747  }
1749  layerMEs.meTrackangle2Rphi = bookME1D(ibooker,"TH1Trackangle2Rphi",hidmanager.createHistoLayer("Track_angle2_Rphi","layer",label,"").c_str() ,"");
1750  layerMEs.meTrackangle2Rphi->setAxisTitle((""+ label).c_str());
1751  }
1753  layerMEs.mePullTrackangleProfileRphi = bookMEProfile(ibooker,"TProfPullTrackangleProfileRphi",hidmanager.createHistoLayer("Pull_Trackangle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track angle alpha");
1754  layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Track angle alpha in "+ label).c_str(),1);
1755  layerMEs.mePullTrackangleProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2);
1756  }
1758  layerMEs.mePullTrackangle2DRphi = bookME1D(ibooker,"TH1PullTrackangle2DRphi",hidmanager.createHistoLayer("Pull_Trackangle_2D_Rphi","layer",label,"").c_str() ,"");
1759  layerMEs.mePullTrackangle2DRphi->setAxisTitle((""+ label).c_str());
1760  }
1762  layerMEs.meTrackwidthRphi = bookME1D(ibooker,"TH1TrackwidthRphi",hidmanager.createHistoLayer("Track_width_Rphi","layer",label,"").c_str() ,"Track width");
1763  layerMEs.meTrackwidthRphi->setAxisTitle(("Track width in "+ label).c_str());
1764  }
1766  layerMEs.meExpectedwidthRphi = bookME1D(ibooker,"TH1ExpectedwidthRphi",hidmanager.createHistoLayer("Expected_width_Rphi","layer",label,"").c_str() ,"Expected width");
1767  layerMEs.meExpectedwidthRphi->setAxisTitle(("Expected width in "+ label).c_str());
1768  }
1770  layerMEs.meClusterwidthRphi = bookME1D(ibooker,"TH1ClusterwidthRphi",hidmanager.createHistoLayer("Cluster_width_Rphi","layer",label,"").c_str() ,"Cluster width");
1771  layerMEs.meClusterwidthRphi->setAxisTitle(("Cluster width in "+ label).c_str());
1772  }
1774  layerMEs.meCategoryRphi = bookME1D(ibooker,"TH1CategoryRphi",hidmanager.createHistoLayer("Category_Rphi","layer",label,"").c_str() ,"Category");
1775  layerMEs.meCategoryRphi->setAxisTitle(("Category in "+ label).c_str());
1776  }
1778  layerMEs.mePullTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfPullTrackwidthProfileRphi",hidmanager.createHistoLayer("Pull_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Pull in MF vs track width");
1779  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1);
1780  layerMEs.mePullTrackwidthProfileRphi->setAxisTitle(("Pull (MF) in "+ label).c_str(),2);
1781  }
1783  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");
1784  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1785  layerMEs.mePullTrackwidthProfileRphiwclus1->setAxisTitle(("Pull (MF) for w=1 in "+ label).c_str(),2);
1786  }
1788  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");
1789  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1790  layerMEs.mePullTrackwidthProfileRphiwclus2->setAxisTitle(("Pull (MF) for w=2 in "+ label).c_str(),2);
1791 
1792  }
1794  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");
1795  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1796  layerMEs.mePullTrackwidthProfileRphiwclus3->setAxisTitle(("Pull (MF) for w=3 in "+ label).c_str(),2);
1797  }
1799  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");
1800  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1801  layerMEs.mePullTrackwidthProfileRphiwclus4->setAxisTitle(("Pull (MF) for w=4 in "+ label).c_str(),2);
1802 
1803  }
1805  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");
1806  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1);
1807  layerMEs.mePullTrackwidthProfileCategory1Rphi->setAxisTitle(("Pull (MF) for Category 1 in "+ label).c_str(),2);
1808  }
1810  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");
1811  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1);
1812  layerMEs.mePullTrackwidthProfileCategory2Rphi->setAxisTitle(("Pull (MF) for Category 2 in "+ label).c_str(),2);
1813  }
1815  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");
1816  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1);
1817  layerMEs.mePullTrackwidthProfileCategory3Rphi->setAxisTitle(("Pull (MF) for Category 3 in "+ label).c_str(),2);
1818  }
1820  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");
1821  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1);
1822  layerMEs.mePullTrackwidthProfileCategory4Rphi->setAxisTitle(("Pull (MF) for Category 4 in "+ label).c_str(),2);
1823  }
1825  layerMEs.meResolxMFTrackwidthProfileRphi = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfileRphi",hidmanager.createHistoLayer("ResolxMF_Track_width_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track width");
1826  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("track width in "+ label).c_str(),1);
1827  layerMEs.meResolxMFTrackwidthProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2);
1828  }
1829 
1831  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");
1832  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1833  layerMEs.meResolxMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Resolution in MF for w=1 in "+ label).c_str(),2);
1834  }
1836  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");
1837  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1838  layerMEs.meResolxMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Resolution in MF for w=2 in "+ label).c_str(),2);
1839  }
1841  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");
1842  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1843  layerMEs.meResolxMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Resolution in MF for w=3 in "+ label).c_str(),2);
1844  }
1846  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");
1847  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1848  layerMEs.meResolxMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Resolution in MF for w=4 in "+ label).c_str(),2);
1849  }
1851  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");
1852  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("track width for w=1 in "+ label).c_str(),1);
1853  layerMEs.meResMFTrackwidthProfileWclus1Rphi->setAxisTitle(("Residuals(x) in MF for w=1 in "+ label).c_str(),2);
1854  }
1856  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");
1857  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("track width for w=2 in "+ label).c_str(),1);
1858  layerMEs.meResMFTrackwidthProfileWclus2Rphi->setAxisTitle(("Residuals(x) in MF for w=2 in "+ label).c_str(),2);
1859  }
1861  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");
1862  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("track width for w=3 in "+ label).c_str(),1);
1863  layerMEs.meResMFTrackwidthProfileWclus3Rphi->setAxisTitle(("Residuals(x) in MF for w=3 in "+ label).c_str(),2);
1864  }
1866  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");
1867  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("track width for w=4 in "+ label).c_str(),1);
1868  layerMEs.meResMFTrackwidthProfileWclus4Rphi->setAxisTitle(("Residuals(x) in MF for w=4 in "+ label).c_str(),2);
1869  }
1870 
1872  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");
1873  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("track width for Category 1 in "+ label).c_str(),1);
1874  layerMEs.meResolxMFTrackwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2);
1875  }
1877  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");
1878  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("track width for Category 2 in "+ label).c_str(),1);
1879  layerMEs.meResolxMFTrackwidthProfileCategory2Rphi->setAxisTitle(("Resolution in MF for Category 2 in "+ label).c_str(),2);
1880  }
1882  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");
1883  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 3 in "+ label).c_str(),1);
1884  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("Resolution in MF for Category 3 in "+ label).c_str(),2);
1885  }
1887  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");
1888  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("track width for Category 4 in "+ label).c_str(),1);
1889  layerMEs.meResolxMFTrackwidthProfileCategory3Rphi->setAxisTitle(("Resolution in MF for Category 4 in "+ label).c_str(),2);
1890  }
1892  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");
1893  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("cluster width for Category 1 in "+ label).c_str(),1);
1894  layerMEs.meResolxMFClusterwidthProfileCategory1Rphi->setAxisTitle(("Resolution in MF for Category 1 in "+ label).c_str(),2);
1895  }
1897  layerMEs.meResolxMFAngleProfileRphi = bookMEProfile(ibooker,"TProfResolxMFAngleProfileRphi",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Rphi","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle alpha");
1898  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("track angle alpha in "+ label).c_str(),1);
1899  layerMEs.meResolxMFAngleProfileRphi->setAxisTitle(("Resolution in MF in "+ label).c_str(),2);
1900  }
1902  layerMEs.merapidityResProfilewclus1 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus1",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus1","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=1");
1903  layerMEs.merapidityResProfilewclus1->setAxisTitle(("Res for w=1 in "+ label).c_str(),1);
1904  layerMEs.merapidityResProfilewclus1->setAxisTitle(("rapidity for w=1 in "+ label).c_str(),2);
1905  }
1907  layerMEs.merapidityResProfilewclus2 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus2",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus2","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=2");
1908  layerMEs.merapidityResProfilewclus2->setAxisTitle(("Res for w=2 in "+ label).c_str(),1);
1909  layerMEs.merapidityResProfilewclus2->setAxisTitle(("rapidity for w=2 in "+ label).c_str(),2);
1910  }
1912  layerMEs.merapidityResProfilewclus3 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus3",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus3","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=3");
1913  layerMEs.merapidityResProfilewclus3->setAxisTitle(("Res for w=3 in "+ label).c_str(),1);
1914  layerMEs.merapidityResProfilewclus3->setAxisTitle(("rapidity for w=3 in "+ label).c_str(),2);
1915  }
1917  layerMEs.merapidityResProfilewclus4 = bookMEProfile(ibooker,"TProfrapidityResProfilewclus4",hidmanager.createHistoLayer("rapidity_Res_Profile_wclus4","layer",label,"").c_str() ,"Profile of rapidity vs Res for w=4");
1918  layerMEs.merapidityResProfilewclus4->setAxisTitle(("Res for w=4 in "+ label).c_str(),1);
1919  layerMEs.merapidityResProfilewclus4->setAxisTitle(("rapidity for w=4 in "+ label).c_str(),2);
1920  }
1921 
1922 
1923  LayerMEsMap[label]=layerMEs;
1924 
1925 }
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 1276 of file SiStripTrackingRecHitsValid.cc.

References funct::abs(), createLayerMEs(), createSimpleHitsMEs(), createStereoAndMatchedMEs(), cond::rpcobgas::detid, 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_, SiStripDetId::stereo(), StereoAndMatchedDetMap, StereoAndMatchedMEsMap, AlCaHLTBitMon_QueryRunRegistry::string, and topFolderName_.

Referenced by bookHistograms().

1276  {
1277 
1278  //Retrieve tracker topology from geometry
1279  edm::ESHandle<TrackerTopology> tTopoHandle;
1280  es.get<IdealGeometryRecord>().get(tTopoHandle);
1281  const TrackerTopology* const tTopo = tTopoHandle.product();
1282 
1283  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
1285 
1286  // get list of active detectors from SiStripDetCabling
1287  std::vector<uint32_t> activeDets;
1288  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
1289 
1290  SiStripSubStructure substructure;
1291 
1292  SiStripFolderOrganizer folder_organizer;
1293  // folder_organizer.setSiStripFolderName(topFolderName_);
1294  std::string curfold = topFolderName_;
1295  folder_organizer.setSiStripFolderName(curfold);
1296  folder_organizer.setSiStripFolder();
1297 
1298  // std::cout << "curfold " << curfold << std::endl;
1299 
1300  createSimpleHitsMEs(ibooker);
1301 
1302  // loop over detectors and book MEs
1303  edm::LogInfo("SiStripTrackingRecHitsValid|SiStripTrackingRecHitsValid")<<"nr. of activeDets: "<<activeDets.size();
1304  for(std::vector<uint32_t>::iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
1305  uint32_t detid = (*detid_iterator);
1306  // remove any eventual zero elements - there should be none, but just in case
1307  if(detid == 0) {
1308  activeDets.erase(detid_iterator);
1309  continue;
1310  }
1311 
1312  // Create Layer Level MEs
1313  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid,tTopo,true);
1314  SiStripHistoId hidmanager;
1315  std::string label = hidmanager.getSubdetid(detid,tTopo,true);
1316  // std::cout << "label " << label << endl;
1317 
1318  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
1319  if(iLayerME==LayerMEsMap.end()) {
1320 
1321  // get detids for the layer
1322  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1323  int32_t lnumber = det_layer_pair.second;
1324  std::vector<uint32_t> layerDetIds;
1325  if (det_layer_pair.first == "TIB") {
1326  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
1327  } else if (det_layer_pair.first == "TOB") {
1328  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
1329  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
1330  substructure.getTIDDetectors(activeDets,layerDetIds,2,0,abs(lnumber),0);
1331  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
1332  substructure.getTIDDetectors(activeDets,layerDetIds,1,0,abs(lnumber),0);
1333  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
1334  substructure.getTECDetectors(activeDets,layerDetIds,2,0,0,0,abs(lnumber),0);
1335  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
1336  substructure.getTECDetectors(activeDets,layerDetIds,1,0,0,0,abs(lnumber),0);
1337  }
1338  LayerDetMap[label] = layerDetIds;
1339 
1340  // book Layer MEs
1341  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
1342  // std::stringstream ss;
1343  // folder_organizer.getLayerFolderName(ss, detid, tTopo, true);
1344  // std::cout << "Folder Name " << ss.str().c_str() << std::endl;
1345  // folder_organizer.setLayerFolder(detid,det_layer_pair.second,true);
1346  createLayerMEs(ibooker,label);
1347  }
1348  //Create StereoAndMatchedMEs
1349  std::map<std::string, StereoAndMatchedMEs>::iterator iStereoAndMatchedME = StereoAndMatchedMEsMap.find(label);
1350  if(iStereoAndMatchedME==StereoAndMatchedMEsMap.end()) {
1351 
1352  // get detids for the stereo and matched layer. We are going to need a bool for these layers
1353  bool isStereo = false;
1354  // Keep in mind that when we are on the TID or TEC we deal with rings not wheel
1355  int32_t stereolnumber = det_layer_pair.second;
1356  std::vector<uint32_t> stereoandmatchedDetIds;
1357  if ( (det_layer_pair.first == "TIB") && (TIBDetId(detid).stereo()== 1) ) {
1358  substructure.getTIBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0,0);
1359  isStereo = true;
1360  } else if ( (det_layer_pair.first == "TOB") && (TOBDetId(detid).stereo()== 1) ) {
1361  substructure.getTOBDetectors(activeDets,stereoandmatchedDetIds,stereolnumber,0,0);
1362  isStereo = true;
1363  } else if ( (det_layer_pair.first == "TID") && (stereolnumber > 0) && (TIDDetId(detid).stereo()== 1) ) {
1364  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,2,0,abs(stereolnumber),1);
1365  isStereo = true;
1366  } else if ( (det_layer_pair.first == "TID") && (stereolnumber < 0) && (TIDDetId(detid).stereo()== 1) ) {
1367  substructure.getTIDDetectors(activeDets,stereoandmatchedDetIds,1,0,abs(stereolnumber),1);
1368  isStereo = true;
1369  } else if ( (det_layer_pair.first == "TEC") && (stereolnumber > 0) && (TECDetId(detid).stereo()== 1) ) {
1370  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,2,0,0,0,abs(stereolnumber),1);
1371  isStereo = true;
1372  } else if ( (det_layer_pair.first == "TEC") && (stereolnumber < 0) && (TECDetId(detid).stereo()== 1) ) {
1373  substructure.getTECDetectors(activeDets,stereoandmatchedDetIds,1,0,0,0,abs(stereolnumber),1);
1374  isStereo = true;
1375  }
1376  StereoAndMatchedDetMap[label] = stereoandmatchedDetIds;
1377 
1378  // book StereoAndMatched MEs
1379  if(isStereo){
1380  folder_organizer.setLayerFolder(detid,tTopo,det_layer_pair.second,true);
1381  // std::stringstream ss1;
1382  // folder_organizer.getLayerFolderName(ss1, detid, tTopo, true);
1383  // std::cout << "Folder Name stereo " << ss1.str().c_str() << std::endl;
1384  //Create the Monitor Elements only when we have a stereo module
1385  createStereoAndMatchedMEs(ibooker,label);
1386  }
1387  }
1388 
1389 
1390  }//end of loop over detectors
1391 }
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void setSiStripFolderName(std::string name)
uint32_t stereo() const
Definition: SiStripDetId.h:162
std::map< std::string, StereoAndMatchedMEs > StereoAndMatchedMEsMap
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)
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:55
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 1393 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().

1394 {
1407 
1412 
1422  simplehitsMEs.meResLF = 0;
1423  simplehitsMEs.mePullLF = 0;
1425  simplehitsMEs.meResMF = 0;
1426  simplehitsMEs.mePullMF = 0;
1427 
1428 
1429  if(layerswitchResolx_LF) {
1430  simplehitsMEs.meResolxLF = bookME1D(ibooker,"TH1Resolx_LF", "TH1Resolx_LF" ,"RecHit resol(x) coord. (local frame)");
1431  simplehitsMEs.meResolxLF->setAxisTitle("resol(x) RecHit coord. (local frame)");
1432  }
1433  if(layerswitchResolx_MF) {
1434  simplehitsMEs.meResolxMF = bookME1D(ibooker,"TH1Resolx_MF", "TH1Resolx_MF" ,"RecHit resol(x) coord. (measurement frame)");
1435  simplehitsMEs.meResolxMF->setAxisTitle("resol(x) RecHit coord. (measurement frame)");
1436  }
1437  if(layerswitchRes_LF) {
1438  simplehitsMEs.meResLF = bookME1D(ibooker,"TH1Res_LF", "TH1Res_LF" ,"Residual of the hit x coordinate (local frame)");
1439  simplehitsMEs.meResLF->setAxisTitle("Hit Res(x) (local frame)");
1440  }
1441  if(layerswitchRes_MF) {
1442  simplehitsMEs.meResMF = bookME1D(ibooker,"TH1Res_MF", "TH1Res_MF" ,"Residual of the hit x coordinate (measurement frame)");
1443  simplehitsMEs.meResMF->setAxisTitle("Hit Res(x) (measurement frame)");
1444  }
1445  if(layerswitchPull_LF) {
1446  simplehitsMEs.mePullLF = bookME1D(ibooker,"TH1Pull_LF", "TH1Pull_LF" ,"Pull distribution (local frame)");
1447  simplehitsMEs.mePullLF->setAxisTitle("Pull distribution (local frame)");
1448  }
1449  if(layerswitchPull_MF) {
1450  simplehitsMEs.mePullMF = bookME1D(ibooker,"TH1Pull_MF", "TH1Pull_MF" ,"Pull distribution (measurement frame)");
1451  simplehitsMEs.mePullMF->setAxisTitle("Pull distribution (measurement frame)");
1452  }
1453  if(layerswitchCategory) {
1454  simplehitsMEs.meCategory = bookME1D(ibooker,"TH1Category", "TH1Category" ,"Category");
1455  simplehitsMEs.meCategory->setAxisTitle("Category");
1456  }
1457  if(layerswitchTrackwidth) {
1458  simplehitsMEs.meTrackwidth = bookME1D(ibooker,"TH1Trackwidth", "TH1Trackwidth" ,"Track width");
1459  simplehitsMEs.meTrackwidth->setAxisTitle("Track width");
1460  }
1462  simplehitsMEs.meExpectedwidth = bookME1D(ibooker,"TH1Expectedwidth", "TH1Expectedwidth" ,"Expected width");
1463  simplehitsMEs.meExpectedwidth->setAxisTitle("Expected width");
1464  }
1466  simplehitsMEs.meClusterwidth = bookME1D(ibooker,"TH1Clusterwidth", "TH1Clusterwidth" ,"Cluster width");
1467  simplehitsMEs.meClusterwidth->setAxisTitle("Cluster width");
1468  }
1470  simplehitsMEs.meTrackanglealpha = bookME1D(ibooker,"TH1Trackanglealpha", "TH1Trackanglealpha" ,"Track angle alpha");
1471  simplehitsMEs.meTrackanglealpha->setAxisTitle("Track angle alpha");
1472  }
1474  simplehitsMEs.meTrackanglebeta = bookME1D(ibooker,"TH1Trackanglebeta", "TH1Trackanglebeta" ,"Track angle beta");
1475  simplehitsMEs.meTrackanglebeta->setAxisTitle("Track angle beta");
1476  }
1478  simplehitsMEs.meResolxMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus1","TProfResolxMFTrackwidthProfile_WClus1","Profile of Resolution in MF vs track width for w=1");
1480  simplehitsMEs.meResolxMFTrackwidthProfileWClus1->setAxisTitle("Resolution (measurement frame) w=1",2);
1481  }
1483  simplehitsMEs.meResolxMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus2","TProfResolxMFTrackwidthProfile_WClus2","Profile of Resolution in MF vs track width for w=2");
1485  simplehitsMEs.meResolxMFTrackwidthProfileWClus2->setAxisTitle("Resolution (measurement frame) w=2",2);
1486 
1487  }
1489  simplehitsMEs.meResolxMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus3","TProfResolxMFTrackwidthProfile_WClus3","Profile of Resolution in MF vs track width for w=3");
1491  simplehitsMEs.meResolxMFTrackwidthProfileWClus3->setAxisTitle("Resolution (measurement frame) w=3",2);
1492  }
1494  simplehitsMEs.meResolxMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_WClus4","TProfResolxMFTrackwidthProfile_WClus4","Profile of Resolution in MF vs track width for w=4");
1496  simplehitsMEs.meResolxMFTrackwidthProfileWClus4->setAxisTitle("Resolution (measurement frame) w=3",2);
1497  }
1499  simplehitsMEs.meResMFTrackwidthProfileWClus1 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus1","TProfResMFTrackwidthProfile_WClus1","Profile of Residuals(x) in MF vs track width for w=1");
1501  simplehitsMEs.meResMFTrackwidthProfileWClus1->setAxisTitle("Residuals(x) (measurement frame) w=1",2);
1502  }
1504  simplehitsMEs.meResMFTrackwidthProfileWClus2 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus2","TProfResMFTrackwidthProfile_WClus2","Profile of Residuals(x) in MF vs track width for w=2");
1506  simplehitsMEs.meResMFTrackwidthProfileWClus2->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1507  }
1509  simplehitsMEs.meResMFTrackwidthProfileWClus21 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus21","TProfResMFTrackwidthProfile_WClus21","Profile of Residuals(x) in MF vs track width for w=2");
1511  simplehitsMEs.meResMFTrackwidthProfileWClus21->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1512  }
1514  simplehitsMEs.meResMFTrackwidthProfileWClus22 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus22","TProfResMFTrackwidthProfile_WClus22","Profile of Residuals(x) in MF vs track width for w=2");
1516  simplehitsMEs.meResMFTrackwidthProfileWClus22->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1517 
1518  }
1520  simplehitsMEs.meResMFTrackwidthProfileWClus23 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus23","TProfResMFTrackwidthProfile_WClus23","Profile of Residuals(x) in MF vs track width for w=2");
1522  simplehitsMEs.meResMFTrackwidthProfileWClus23->setAxisTitle("Residuals(x) (measurement frame) w=2",2);
1523  }
1525  simplehitsMEs.meResMFTrackwidthProfileWClus3 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus3","TProfResMFTrackwidthProfile_WClus3","Profile of Residuals(x) in MF vs track width for w=3");
1527  simplehitsMEs.meResMFTrackwidthProfileWClus3->setAxisTitle("Residuals(x) (measurement frame) w=3",2);
1528  }
1530  simplehitsMEs.meResMFTrackwidthProfileWClus4 = bookMEProfile(ibooker,"TProfResMFTrackwidthProfile_WClus4","TProfResMFTrackwidthProfile_WClus4","Profile of Residuals(x) in MF vs track width for w=4");
1532  simplehitsMEs.meResMFTrackwidthProfileWClus4->setAxisTitle("Residuals(x) (measurement frame) w=4",2);
1533  }
1535  simplehitsMEs.meResolxMFTrackwidthProfile = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile","TProfResolxMFTrackwidthProfile","Profile of Resolution in MF vs track width");
1537  simplehitsMEs.meResolxMFTrackwidthProfile->setAxisTitle("Resolution (measurement frame)",2);
1538  }
1540  simplehitsMEs.meResolxMFTrackwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category1","TProfResolxMFTrackwidthProfile_Category1","Profile of Resolution in MF vs track width (Category 1)");
1542  simplehitsMEs.meResolxMFTrackwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1543  }
1545  simplehitsMEs.meResolxMFTrackwidthProfileCategory2 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category2","TProfResolxMFTrackwidthProfile_Category2","Profile of Resolution in MF vs track width (Category 2)");
1547  simplehitsMEs.meResolxMFTrackwidthProfileCategory2->setAxisTitle("Resolution (measurement frame) Category 2",2);
1548  }
1550  simplehitsMEs.meResolxMFTrackwidthProfileCategory3 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category3","TProfResolxMFTrackwidthProfile_Category3","Profile of Resolution in MF vs track width (Category 3)");
1552  simplehitsMEs.meResolxMFTrackwidthProfileCategory3->setAxisTitle("Resolution (measurement frame) Category 3",2);
1553  }
1555  simplehitsMEs.meResolxMFTrackwidthProfileCategory4 = bookMEProfile(ibooker,"TProfResolxMFTrackwidthProfile_Category4","TProfResolxMFTrackwidthProfile_Category4","Profile of Resolution in MF vs track width (Category 4)");
1557  simplehitsMEs.meResolxMFTrackwidthProfileCategory4->setAxisTitle("Resolution (measurement frame) Category 4",2);
1558  }
1560  simplehitsMEs.meResolxMFClusterwidthProfileCategory1 = bookMEProfile(ibooker,"TProfResolxMFClusterwidthProfile_Category1","TProfResolxMFClusterwidthProfile_Category1","Profile of Resolution in MF vs cluster width (Category 1)");
1562  simplehitsMEs.meResolxMFClusterwidthProfileCategory1->setAxisTitle("Resolution (measurement frame) Category 1",2);
1563  }
1565  simplehitsMEs.meResolxMFAngleProfile = bookMEProfile(ibooker,"TProfResolxMFAngleProfile","TProfResolxMFAngleProfile","Profile of Resolution in MF vs Track angle alpha");
1566  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Track angle alpha",1);
1567  simplehitsMEs.meResolxMFAngleProfile->setAxisTitle("Resolution (measurement frame)",2);
1568  }
1569 
1570 
1571 }
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 1927 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().

1928 {
1929  SiStripHistoId hidmanager;
1930  StereoAndMatchedMEs stereoandmatchedMEs;
1931 
1932  stereoandmatchedMEs.meWclusSas = 0;
1933  stereoandmatchedMEs.meAdcSas = 0;
1934  stereoandmatchedMEs.meResolxLFSas = 0;
1935  stereoandmatchedMEs.meResolxMFSas = 0;
1936  stereoandmatchedMEs.meResLFSas = 0;
1937  stereoandmatchedMEs.meResMFSas = 0;
1938  stereoandmatchedMEs.mePullLFSas = 0;
1939  stereoandmatchedMEs.mePullMFSas = 0;
1940  stereoandmatchedMEs.meTrackangleSas = 0;
1941  stereoandmatchedMEs.meTrackanglebetaSas = 0;
1942  stereoandmatchedMEs.mePullTrackangleProfileSas = 0;
1943  stereoandmatchedMEs.meTrackwidthSas = 0;
1944  stereoandmatchedMEs.meExpectedwidthSas = 0;
1945  stereoandmatchedMEs.meClusterwidthSas = 0;
1946  stereoandmatchedMEs.meCategorySas = 0;
1947  stereoandmatchedMEs.mePullTrackwidthProfileSas = 0;
1948  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas = 0;
1949  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas = 0;
1950  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas = 0;
1951  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas = 0;
1952  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas = 0;
1953  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas = 0;
1954  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas = 0;
1955  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas = 0;
1956  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas = 0;
1957  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas = 0;
1958  stereoandmatchedMEs.meResolxMFAngleProfileSas = 0;
1959 
1960  stereoandmatchedMEs.mePosxMatched = 0;
1961  stereoandmatchedMEs.mePosyMatched = 0;
1962  stereoandmatchedMEs.meResolxMatched = 0;
1963  stereoandmatchedMEs.meResolyMatched = 0;
1964  stereoandmatchedMEs.meResxMatched = 0;
1965  stereoandmatchedMEs.meResyMatched = 0;
1966  stereoandmatchedMEs.mePullxMatched = 0;
1967  stereoandmatchedMEs.mePullyMatched = 0;
1968 
1969  //WclusSas
1970  if(layerswitchWclusSas) {
1971  stereoandmatchedMEs.meWclusSas = bookME1D(ibooker,"TH1WclusSas", hidmanager.createHistoLayer("Wclus_sas","layer",label,"").c_str() ,"Cluster Width - Number of strips that belong to the RecHit cluster");
1972  stereoandmatchedMEs.meWclusSas->setAxisTitle(("Cluster Width [nr strips] (stereo) in "+ label).c_str());
1973  }
1974  //AdcSas
1975  if(layerswitchAdcSas) {
1976  stereoandmatchedMEs.meAdcSas = bookME1D(ibooker,"TH1AdcSas", hidmanager.createHistoLayer("Adc_sas","layer",label,"").c_str() ,"RecHit Cluster Charge");
1977  stereoandmatchedMEs.meAdcSas->setAxisTitle(("cluster charge [ADC] (stereo) in " + label).c_str());
1978  }
1979  //ResolxLFSas
1981  stereoandmatchedMEs.meResolxLFSas = bookME1D(ibooker,"TH1ResolxLFSas", hidmanager.createHistoLayer("Resolx_LF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1982  stereoandmatchedMEs.meResolxLFSas->setAxisTitle(("resol(x) RecHit coord. (local frame) (stereo) in " + label).c_str());
1983  }
1984  //ResolxMFSas
1986  stereoandmatchedMEs.meResolxMFSas = bookME1D(ibooker,"TH1ResolxMFSas", hidmanager.createHistoLayer("Resolx_MF_sas","layer",label,"").c_str() ,"RecHit resol(x) coord.");
1987  stereoandmatchedMEs.meResolxMFSas->setAxisTitle(("resol(x) RecHit coord. (measurement frame) (stereo) in " + label).c_str());
1988  }
1989  //ResLFSas
1990  if(layerswitchResLFSas) {
1991  stereoandmatchedMEs.meResLFSas = bookME1D(ibooker,"TH1ResLFSas", hidmanager.createHistoLayer("Res_LF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1992  stereoandmatchedMEs.meResLFSas->setAxisTitle(("Hit Residuals(x) (local frame) (stereo) in " + label).c_str());
1993  }
1994  //ResMFSas
1995  if(layerswitchResMFSas) {
1996  stereoandmatchedMEs.meResMFSas = bookME1D(ibooker,"TH1ResMFSas", hidmanager.createHistoLayer("Res_MF_sas","layer",label,"").c_str() ,"Residual of the hit x coordinate");
1997  stereoandmatchedMEs.meResMFSas->setAxisTitle(("Hit Residuals(x) (stereo) in " + label).c_str());
1998  }
1999  //PullLFSas
2000  if(layerswitchPullLFSas) {
2001  stereoandmatchedMEs.mePullLFSas = bookME1D(ibooker,"TH1PullLFSas", hidmanager.createHistoLayer("Pull_LF_sas","layer",label,"").c_str() ,"Pull distribution");
2002  stereoandmatchedMEs.mePullLFSas->setAxisTitle(("Pull distribution (local frame) (stereo) in " + label).c_str());
2003  }
2004  //PullMFSas
2005  if(layerswitchPullMFSas) {
2006  stereoandmatchedMEs.mePullMFSas = bookME1D(ibooker,"TH1PullMFSas", hidmanager.createHistoLayer("Pull_MF_sas","layer",label,"").c_str() ,"Pull distribution");
2007  stereoandmatchedMEs.mePullMFSas->setAxisTitle(("Pull distribution (measurement frame) (stereo) in " + label).c_str());
2008  }
2009 
2011  stereoandmatchedMEs.meTrackangleSas = bookME1D(ibooker,"TH1TrackangleSas",hidmanager.createHistoLayer("Track_angle_Sas","layer",label,"").c_str() ,"Track angle");
2012  stereoandmatchedMEs.meTrackangleSas->setAxisTitle(("Track angle (stereo) in " + label).c_str());
2013  }
2015  stereoandmatchedMEs.meTrackanglebetaSas = bookME1D(ibooker,"TH1TrackanglebetaSas",hidmanager.createHistoLayer("Track_angle_beta_Sas","layer",label,"").c_str() ,"Track angle beta");
2016  stereoandmatchedMEs.meTrackanglebetaSas->setAxisTitle(("Track angle beta (stereo) in " + label).c_str());
2017  }
2019  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)");
2020  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1);
2021  stereoandmatchedMEs.mePullTrackangleProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2);
2022  }
2024  stereoandmatchedMEs.meTrackwidthSas = bookME1D(ibooker,"TH1TrackwidthSas",hidmanager.createHistoLayer("Track_width_Sas","layer",label,"").c_str() ,"Track width");
2025  stereoandmatchedMEs.meTrackwidthSas->setAxisTitle(("Track width (stereo) in " + label).c_str());
2026  }
2028  stereoandmatchedMEs.meExpectedwidthSas = bookME1D(ibooker,"TH1ExpectedwidthSas",hidmanager.createHistoLayer("Expected_width_Sas","layer",label,"").c_str() ,"Expected width");
2029  stereoandmatchedMEs.meExpectedwidthSas->setAxisTitle(("Expected width (stereo) in " + label).c_str());
2030  }
2032  stereoandmatchedMEs.meClusterwidthSas = bookME1D(ibooker,"TH1ClusterwidthSas",hidmanager.createHistoLayer("Cluster_width_Sas","layer",label,"").c_str() ,"Cluster width");
2033  stereoandmatchedMEs.meClusterwidthSas->setAxisTitle(("Cluster width (stereo) in " + label).c_str());
2034  }
2036  stereoandmatchedMEs.meCategorySas = bookME1D(ibooker,"TH1CategorySas",hidmanager.createHistoLayer("Category_Sas","layer",label,"").c_str() ,"Category");
2037  stereoandmatchedMEs.meCategorySas->setAxisTitle(("Category (stereo) in " + label).c_str());
2038  }
2040  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)");
2041  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1);
2042  stereoandmatchedMEs.mePullTrackwidthProfileSas->setAxisTitle(("Pull in MF (stereo) in " + label).c_str(),2);
2043  }
2045  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)");
2046  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("track width (Category 1) (stereo) in " + label).c_str(),1);
2047  stereoandmatchedMEs.mePullTrackwidthProfileCategory1Sas->setAxisTitle(("Pull in MF (Category 1) (stereo) in " + label).c_str(),2);
2048  }
2050  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)");
2051  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("track width (Category 2) (stereo) in " + label).c_str(),1);
2052  stereoandmatchedMEs.mePullTrackwidthProfileCategory2Sas->setAxisTitle(("Pull in MF (Category 2) (stereo) in " + label).c_str(),2);
2053  }
2055  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)");
2056  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("track width (Category 3) (stereo) in " + label).c_str(),1);
2057  stereoandmatchedMEs.mePullTrackwidthProfileCategory3Sas->setAxisTitle(("Pull in MF (Category 3) (stereo) in " + label).c_str(),2);
2058  }
2060  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)");
2061  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("track width (Category 4) (stereo) in " + label).c_str(),1);
2062  stereoandmatchedMEs.mePullTrackwidthProfileCategory4Sas->setAxisTitle(("Pull in MF (Category 4) (stereo) in " + label).c_str(),2);
2063  }
2065  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)");
2066  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("track width (stereo) in " + label).c_str(),1);
2067  stereoandmatchedMEs.meResolxMFTrackwidthProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2);
2068  }
2070  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)");
2071  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" track width (Category 1) (stereo) in " + label).c_str(),1);
2072  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2);
2073  }
2075  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)");
2076  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" track width (Category 2) (stereo) in " + label).c_str(),1);
2077  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory2Sas->setAxisTitle((" Resolution in MF (Category 2) (stereo) in " + label).c_str(),2);
2078  }
2080  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)");
2081  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" track width (Category 3) (stereo) in " + label).c_str(),1);
2082  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory3Sas->setAxisTitle((" Resolution in MF (Category 3) (stereo) in " + label).c_str(),2);
2083  }
2085  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)");
2086  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" track width (Category 4) (stereo) in " + label).c_str(),1);
2087  stereoandmatchedMEs.meResolxMFTrackwidthProfileCategory4Sas->setAxisTitle((" Resolution in MF (Category 4) (stereo) in " + label).c_str(),2);
2088  }
2090  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)");
2091  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle(("cluster width (Category 1) (stereo) in " + label).c_str(),1);
2092  stereoandmatchedMEs.meResolxMFClusterwidthProfileCategory1Sas->setAxisTitle((" Resolution in MF (Category 1) (stereo) in " + label).c_str(),2);
2093  }
2095  stereoandmatchedMEs.meResolxMFAngleProfileSas = bookMEProfile(ibooker,"TProfResolxMFAngleProfileSas",hidmanager.createHistoLayer("ResolxMF_Angle_Profile_Sas","layer",label,"").c_str() ,"Profile of Resolution in MF vs track angle (stereo)");
2096  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("track angle (stereo) in " + label).c_str(),1);
2097  stereoandmatchedMEs.meResolxMFAngleProfileSas->setAxisTitle(("Resolution in MF (stereo) in " + label).c_str(),2);
2098  }
2099  //PosxMatched
2101  stereoandmatchedMEs.mePosxMatched = bookME1D(ibooker,"TH1PosxMatched", hidmanager.createHistoLayer("Posx_matched","layer",label,"").c_str() ,"RecHit x coord.");
2102  stereoandmatchedMEs.mePosxMatched->setAxisTitle(("x coord. matched RecHit (local frame) in " + label).c_str());
2103  }
2104  //PosyMatched
2106  stereoandmatchedMEs.mePosyMatched = bookME1D(ibooker,"TH1PosyMatched", hidmanager.createHistoLayer("Posy_matched","layer",label,"").c_str() ,"RecHit y coord.");
2107  stereoandmatchedMEs.mePosyMatched->setAxisTitle(("y coord. matched RecHit (local frame) in " + label).c_str());
2108  }
2109  //ResolxMatched
2111  stereoandmatchedMEs.meResolxMatched = bookME1D(ibooker,"TH1ResolxMatched", hidmanager.createHistoLayer("Resolx_matched","layer",label,"").c_str() ,"RecHit resol(x) coord.");
2112  stereoandmatchedMEs.meResolxMatched->setAxisTitle(("resol(x) coord. matched RecHit (local frame) in " + label).c_str());
2113  }
2114  //ResolyMatched
2116  stereoandmatchedMEs.meResolyMatched = bookME1D(ibooker,"TH1ResolyMatched", hidmanager.createHistoLayer("Resoly_matched","layer",label,"").c_str() ,"RecHit resol(y) coord.");
2117  stereoandmatchedMEs.meResolyMatched->setAxisTitle(("resol(y) coord. matched RecHit (local frame) in " + label).c_str());
2118  }
2119  //ResxMatched
2121  stereoandmatchedMEs.meResxMatched = bookME1D(ibooker,"TH1ResxMatched", hidmanager.createHistoLayer("Resx_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2122  stereoandmatchedMEs.meResxMatched->setAxisTitle(("Residuals(x) in matched RecHit in " + label).c_str());
2123  }
2124  //ResyMatched
2126  stereoandmatchedMEs.meResyMatched = bookME1D(ibooker,"TH1ResyMatched", hidmanager.createHistoLayer("Resy_matched","layer",label,"").c_str() ,"Residual of the hit x coord.");
2127  stereoandmatchedMEs.meResyMatched->setAxisTitle(("Res(y) in matched RecHit in " + label).c_str());
2128  }
2129 
2130  StereoAndMatchedMEsMap[label]=stereoandmatchedMEs;
2131 
2132 }
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  )
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 451 of file SiStripTrackingRecHitsValid.cc.

References dbe_, outputFileName, outputMEsInRootFile, and runStandalone.

451  {
452 
453  //Only in standalone mode save local root file
455 
456 }
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 957 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().

962 {
963  // const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(hit.det());
964  //if (stripDet == 0) throw MeasurementDetException("HitMatcher hit is not on StripGeomDetUnit");
965 
966  const StripTopology & topol = stripDet->specificTopology();
967  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
968  LocalPoint localHit = plane.toLocal(globalpos);
969  //track direction
970  LocalVector locdir = hit.localDirection();
971  //rotate track in new frame
972 
973  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
974  LocalVector dir = plane.toLocal(globaldir);
975  float scale = -localHit.z() / dir.z();
976 
977  LocalPoint projectedPos = localHit + scale * dir;
978 
979  // std::cout << "projectedPos " << projectedPos << std::endl;
980 
981  float selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
982 
983  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0); // vector along strip in hit frame
984 
985  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
986 
987  return std::pair < LocalPoint, LocalVector > (projectedPos, localStripDir);
988 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:114
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 1163 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(), m, matched, Topology::measurementError(), Topology::measurementPosition(), SiStripTrackingRecHitsValid::RecHitProperties::phi, 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::trackangle2, 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().

1163  {
1164 
1165  rechitpro.x = -999999.; rechitpro.y = -999999.; rechitpro.z = -999999.; rechitpro.resolxx = -999999.; rechitpro.resolxy = -999999.; rechitpro.resolyy = -999999.;
1166  rechitpro.resolxxMF = -999999.; rechitpro.phi = -999999.;rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.resxMF = -999999.;
1167  rechitpro.pullx = -999999.; rechitpro.pully = -999999.; rechitpro.pullxMF = -999999.; rechitpro.trackangle = -999999.; rechitpro.trackanglebeta = -999999.;
1168  rechitpro.trackangle2 = -999999.; rechitpro.trackwidth = -999999.; rechitpro.expectedwidth = -999999.; rechitpro.category = -999999.; rechitpro.thickness = -999999.;
1169  rechitpro.clusiz = -999999.; rechitpro.cluchg = -999999.;
1170 
1171  //If simplehit1or2D is true we are dealing with hit1d, false is for hit2d
1172  const SiStripRecHit2D *hit2d = dynamic_cast < const SiStripRecHit2D * >((*thit).hit());;
1173  const SiStripRecHit1D *hit1d = dynamic_cast < const SiStripRecHit1D * >((*thit).hit());;
1174 
1175  const StripTopology & topol = (const StripTopology &) stripdet->topology();
1176  const TrackingRecHit *rechit = (*thit).hit();
1177 
1178  LocalPoint position = rechit->localPosition();
1179  LocalError error = rechit->localPositionError();
1180  MeasurementPoint Mposition = topol.measurementPosition(position);
1181  MeasurementError Merror = topol.measurementError(position,error);
1182 
1183  LocalVector trackdirection = tsos.localDirection();
1184  rechitpro.trackangle = atan(trackdirection.x() / trackdirection.z()) * TMath::RadToDeg();
1185  rechitpro.trackanglebeta = atan(trackdirection.y() / trackdirection.z()) * TMath::RadToDeg();
1186 
1187  LocalVector drift = stripcpe->driftDirection(stripdet);
1188  rechitpro.thickness = stripdet->surface().bounds().thickness();
1189  float pitch = topol.localPitch(position);
1190  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1191  float tanalphaL = drift.x() / drift.z();
1192  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1193  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1194  int Sp = int (position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1195  int Sm = int (position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1196  rechitpro.expectedwidth = 1 + Sp - Sm;
1197 
1200  int clusiz=0;
1201  int totcharge=0;
1202 
1203  if(!simplehit1or2D){
1204  clust2d = hit2d->cluster();
1205  clusiz = clust2d->amplitudes().size();
1206  const auto & amplitudes2d = clust2d->amplitudes();
1207  for(size_t ia=0; ia<amplitudes2d.size();ia++){
1208  totcharge+=amplitudes2d[ia];
1209  }
1210  } else {
1211  clust1d = hit1d->cluster();
1212  clusiz = clust1d->amplitudes().size();
1213  const auto & amplitudes1d = clust1d->amplitudes();
1214  for(size_t ia=0; ia<amplitudes1d.size();ia++){
1215  totcharge+=amplitudes1d[ia];
1216  }
1217  }
1218 
1219  rechitpro.x = position.x();
1220  rechitpro.y = position.y();
1221  rechitpro.z = position.z();
1222  rechitpro.resolxx = error.xx();
1223  rechitpro.resolxy = error.xy();
1224  rechitpro.resolyy = error.yy();
1225  rechitpro.resolxxMF = Merror.uu();
1226  rechitpro.clusiz = clusiz;
1227  rechitpro.cluchg = totcharge;
1228 
1229  unsigned int iopt;
1231  iopt = 1;
1232  } else if (rechitpro.expectedwidth == 1) {
1233  iopt = 2;
1234  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1235  iopt = 3;
1236  } else {
1237  iopt = 4;
1238  }
1239  rechitpro.category = iopt;
1240 
1241 
1242  matched.clear();
1243  if(!simplehit1or2D){
1244  matched = associate.associateHit(*hit2d);
1245  } else {
1246  matched = associate.associateHit(*hit1d);
1247  }
1248 
1249  double mindist = 999999;
1250  double dist = 999999;
1251  PSimHit closest;
1252 
1253  if(!matched.empty()){
1254 
1255  for(vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++){
1256  if(!simplehit1or2D){
1257  dist = abs((hit2d)->localPosition().x() - (*m).localPosition().x());
1258  } else {
1259  dist = abs((hit1d)->localPosition().x() - (*m).localPosition().x());
1260  }
1261 
1262  if(dist<mindist){
1263  mindist = dist;
1264  closest = (*m);
1265  }
1266  }
1267  rechitpro.resx = rechitpro.x - closest.localPosition().x();
1268  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest.localPosition())).x();
1269  rechitpro.pullx = (rechit->localPosition().x() - (closest).localPosition().x()) / sqrt(error.xx());
1270  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1271 
1272  }
1273 
1274 }
ClusterRef cluster() const
float xx() const
Definition: LocalError.h:24
LocalVector localDirection() const
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
Definition: ShallowTools.cc:39
T y() const
Definition: PV3DBase.h:63
const Bounds & bounds() const
Definition: Surface.h:128
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:48
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
Definition: DDAxes.h:10
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,
std::string  matchedmonorstereo 
)
private

Definition at line 990 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(), m, matched, Topology::measurementError(), Topology::measurementPosition(), GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), SiStripTrackingRecHitsValid::RecHitProperties::phi, 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(), GeomDet::surface(), funct::tan(), Bounds::thickness(), SiStripTrackingRecHitsValid::RecHitProperties::thickness, GeomDet::toGlobal(), GeomDet::toLocal(), StripGeomDetUnit::topology(), SiStripTrackingRecHitsValid::RecHitProperties::trackangle, SiStripTrackingRecHitsValid::RecHitProperties::trackangle2, 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().

990  {
991 
992  rechitpro.x = -999999.; rechitpro.y = -999999.; rechitpro.z = -999999.; rechitpro.resolxx = -999999.; rechitpro.resolxy = -999999.; rechitpro.resolyy = -999999.;
993  rechitpro.resolxxMF = -999999.; rechitpro.phi = -999999.;rechitpro.resx = -999999.; rechitpro.resy = -999999.; rechitpro.resxMF = -999999.;
994  rechitpro.pullx = -999999.; rechitpro.pully = -999999.; rechitpro.pullxMF = -999999.; rechitpro.trackangle = -999999.; rechitpro.trackanglebeta = -999999.;
995  rechitpro.trackangle2 = -999999.; rechitpro.trackwidth = -999999.; rechitpro.expectedwidth = -999999.; rechitpro.category = -999999.; rechitpro.thickness = -999999.;
996  rechitpro.clusiz = -999999.; rechitpro.cluchg = -999999.;
997 
998  const GeomDetUnit *monodet = gluedDet->monoDet();
999  const GeomDetUnit *stereodet = gluedDet->stereoDet();
1000  //We initialized it to monoHit case because it complains that it may be uninitialized
1001  //and it will change value in the stereoHit case. The matched case do not use this
1002  const StripGeomDetUnit *stripdet = (const StripGeomDetUnit *) (monodet) ;
1003 
1004  const SiStripMatchedRecHit2D *matchedhit = dynamic_cast < const SiStripMatchedRecHit2D * >((*thit).hit());
1005  const SiStripRecHit2D *monohit;
1006  const SiStripRecHit2D *stereohit;
1007 
1008  if (matchedmonorstereo == "monoHit"){
1009  auto hm = matchedhit->monoHit();
1010  monohit = &hm;
1011  stripdet = (const StripGeomDetUnit *) (monodet);
1012  }
1013  if (matchedmonorstereo == "stereoHit"){
1014  auto s = matchedhit->stereoHit();
1015  stereohit = &s;
1016  stripdet = (const StripGeomDetUnit *) (stereodet);
1017  }
1018  //if(matchedhit) cout<<"manganomatchedhit"<<endl;
1019  //if(hit) cout<<"manganosimplehit"<<endl;
1020  //if (hit && matchedhit) cout<<"manganosimpleandmatchedhit"<<endl;
1021  const StripTopology & topol = (const StripTopology &) stripdet->topology();
1022  const TrackingRecHit *rechit = (*thit).hit();
1023 
1025  LocalError error;
1026  MeasurementPoint Mposition;
1027  MeasurementError Merror;
1028 
1029  if (matchedmonorstereo == "matched"){
1030  position=rechit->localPosition();
1031  error=rechit->localPositionError();
1032  }
1033  if(matchedmonorstereo == "monoHit"){
1034  position = monohit->localPosition();
1035  error = monohit->localPositionError();
1036  Mposition = topol.measurementPosition(position);
1037  Merror = topol.measurementError(position, error);
1038  }
1039  if (matchedmonorstereo == "stereoHit"){
1040  position = stereohit->localPosition();
1041  error = stereohit->localPositionError();
1042  Mposition = topol.measurementPosition(position);
1043  Merror = topol.measurementError(position, error);
1044  }
1045 
1046  LocalVector trackdirection = tsos.localDirection();
1047 
1048  GlobalVector gtrkdir = gluedDet->toGlobal(trackdirection);
1049  LocalVector monotkdir = monodet->toLocal(gtrkdir);
1050  LocalVector stereotkdir = stereodet->toLocal(gtrkdir);
1051 
1052  if(matchedmonorstereo == "monoHit"){
1053  if (monotkdir.z() != 0) {
1054  rechitpro.trackangle = atan(monotkdir.x() / monotkdir.z()) * TMath::RadToDeg();
1055  rechitpro.trackanglebeta = atan(monotkdir.y() / monotkdir.z()) * TMath::RadToDeg();
1056  }
1057  }
1058  if (matchedmonorstereo == "stereoHit"){
1059  if (stereotkdir.z() != 0) {
1060  rechitpro.trackangle = atan(stereotkdir.x() / stereotkdir.z()) * TMath::RadToDeg();
1061  rechitpro.trackanglebeta = atan(stereotkdir.y() / stereotkdir.z()) * TMath::RadToDeg();
1062  }
1063  }
1064 
1065  LocalVector drift = stripcpe->driftDirection(stripdet);
1066  rechitpro.thickness = stripdet->surface().bounds().thickness();
1067  float pitch = topol.localPitch(position);
1068  float tanalpha = tan(rechitpro.trackangle * TMath::DegToRad());
1069  float tanalphaL = drift.x() / drift.z();
1070  rechitpro.trackwidth = fabs((rechitpro.thickness / pitch) * tanalpha - (rechitpro.thickness / pitch) * tanalphaL);
1071  float SLorentz = 0.5 * (rechitpro.thickness / pitch) * tanalphaL;
1072  int Sp = int (position.x() / pitch + SLorentz + 0.5 * rechitpro.trackwidth);
1073  int Sm = int (position.x() / pitch + SLorentz - 0.5 * rechitpro.trackwidth);
1074  rechitpro.expectedwidth = 1 + Sp - Sm;
1075 
1077  if(matchedmonorstereo == "monoHit"){clust = monohit->cluster();}
1078  if(matchedmonorstereo == "stereoHit"){clust = stereohit->cluster();}
1079 
1080  int clusiz=0;
1081  int totcharge=0;
1082  clusiz = clust->amplitudes().size();
1083  const auto & amplitudes=clust->amplitudes();
1084  for(size_t ia=0; ia<amplitudes.size();ia++){
1085  totcharge+=amplitudes[ia];
1086  }
1087 
1088  rechitpro.x = position.x();
1089  rechitpro.y = position.y();
1090  rechitpro.z = position.z();
1091  rechitpro.resolxx = error.xx();
1092  rechitpro.resolxy = error.xy();
1093  rechitpro.resolyy = error.yy();
1094  rechitpro.resolxxMF = Merror.uu();
1095  rechitpro.clusiz = clusiz;
1096  rechitpro.cluchg = totcharge;
1097 
1098  unsigned int iopt;
1100  iopt = 1;
1101  } else if (rechitpro.expectedwidth == 1) {
1102  iopt = 2;
1103  } else if (rechitpro.clusiz <= rechitpro.expectedwidth) {
1104  iopt = 3;
1105  } else {
1106  iopt = 4;
1107  }
1108  rechitpro.category = iopt;
1109 
1110  if(matchedmonorstereo == "matched"){matched.clear();matched = associate.associateHit(*matchedhit);}
1111  if(matchedmonorstereo == "monoHit"){matched.clear();matched = associate.associateHit(*monohit);}
1112  if(matchedmonorstereo == "stereoHit"){matched.clear();matched = associate.associateHit(*stereohit);}
1113 
1114  double mindist = 999999;
1115  double dist = 999999;
1116  double distx = 999999;
1117  double disty = 999999;
1118  std::pair<LocalPoint,LocalVector> closestPair;
1119  PSimHit closest;
1120 
1121  if(!matched.empty()){
1122 
1123  const StripGeomDetUnit* partnerstripdet =(StripGeomDetUnit*) gluedDet->stereoDet();
1124  std::pair<LocalPoint,LocalVector> hitPair;
1125 
1126  for(vector<PSimHit>::const_iterator m=matched.begin(); m<matched.end(); m++){
1127  //project simhit;
1128  if(matchedmonorstereo == "matched"){
1129  hitPair= projectHit((*m),partnerstripdet,gluedDet->surface());
1130  distx = fabs(rechitpro.x - hitPair.first.x());
1131  disty = fabs(rechitpro.y - hitPair.first.y());
1132  dist = sqrt(distx*distx+disty*disty);
1133  }
1134  if(matchedmonorstereo == "monoHit"){dist = abs((monohit)->localPosition().x() - (*m).localPosition().x());}
1135  if(matchedmonorstereo == "stereoHit"){dist = abs((stereohit)->localPosition().x() - (*m).localPosition().x());}
1136 
1137  // std::cout << " Simhit position x = " << hitPair.first.x()
1138  // << " y = " << hitPair.first.y() << " dist = " << dist << std::endl;
1139  if(dist<mindist){
1140  mindist = dist;
1141  closestPair = hitPair;
1142  closest = (*m);
1143  }
1144  }
1145 
1146  if(matchedmonorstereo == "matched"){
1147  rechitpro.resx = rechitpro.x - closestPair.first.x();
1148  rechitpro.resy = rechitpro.y - closestPair.first.y();
1149  rechitpro.pullx = ((rechit)->localPosition().x() - (closestPair.first.x())) / sqrt(error.xx());
1150  rechitpro.pully = ((rechit)->localPosition().y() - (closestPair.first.y())) / sqrt(error.yy());
1151  }
1152 
1153  if( (matchedmonorstereo == "monoHit") || (matchedmonorstereo == "stereoHit") ){
1154  rechitpro.resx = rechitpro.x - closest.localPosition().x();
1155  rechitpro.resxMF = Mposition.x() - (topol.measurementPosition(closest.localPosition())).x();
1156  rechitpro.pullx = (rechit->localPosition().x() - (closest).localPosition().x()) / sqrt(error.xx());
1157  rechitpro.pullxMF = (rechitpro.resxMF)/sqrt(Merror.uu());
1158  }
1159 
1160  }
1161 }
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:39
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
const Bounds & bounds() const
Definition: Surface.h:128
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
virtual LocalError localPositionError() const
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:48
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
Definition: DDAxes.h:10
T x() const
Definition: PV2DBase.h:45
T x() const
Definition: PV3DBase.h:62
virtual LocalPoint localPosition() const =0
virtual LocalPoint localPosition() const
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 424 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 425 of file SiStripTrackingRecHitsValid.h.

Referenced by bookME1D(), and bookMEProfile().

std::vector<RecHitProperties> SiStripTrackingRecHitsValid::rechitmatched
private

Definition at line 430 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

RecHitProperties SiStripTrackingRecHitsValid::rechitpro
private

Definition at line 431 of file SiStripTrackingRecHitsValid.h.

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

std::vector<RecHitProperties> SiStripTrackingRecHitsValid::rechitrphi
private

Definition at line 428 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

std::vector<RecHitProperties> SiStripTrackingRecHitsValid::rechitstereo
private

Definition at line 429 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

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 438 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze().

edm::EDGetTokenT<std::vector<Trajectory> > SiStripTrackingRecHitsValid::trajectoryInputToken_
private

Definition at line 440 of file SiStripTrackingRecHitsValid.h.

Referenced by analyze(), and SiStripTrackingRecHitsValid().