CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TrackerOfflineValidation Class Reference

#include <Alignment/Validator/src/TrackerOfflineValidation.cc>

Inheritance diagram for TrackerOfflineValidation:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  DirectoryWrapper
 
struct  ModuleHistos
 
struct  SummaryContainer
 

Public Types

enum  HistogramType {
  XResidual, NormXResidual, YResidual, XprimeResidual,
  NormXprimeResidual, YprimeResidual, NormYprimeResidual, XResidualProfile,
  YResidualProfile
}
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 TrackerOfflineValidation (const edm::ParameterSet &)
 
 ~TrackerOfflineValidation ()
 
- 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
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookDirHists (DirectoryWrapper &tfd, const Alignable &ali, const TrackerTopology *tTopo)
 
void bookGlobalHists (DirectoryWrapper &tfd)
 
void bookHists (DirectoryWrapper &tfd, const Alignable &ali, const TrackerTopology *tTopo, align::StructureType type, int i)
 
TrackerOfflineValidation::SummaryContainer bookSummaryHists (DirectoryWrapper &tfd, const Alignable &ali, align::StructureType type, int i)
 
TH1 * bookTH1F (bool isTransient, DirectoryWrapper &tfd, const char *histName, const char *histTitle, int nBinsX, double lowX, double highX)
 
TProfile * bookTProfile (bool isTransient, DirectoryWrapper &tfd, const char *histName, const char *histTitle, int nBinsX, double lowX, double highX)
 
TProfile * bookTProfile (bool isTransient, DirectoryWrapper &tfd, const char *histName, const char *histTitle, int nBinsX, double lowX, double highX, double lowY, double highY)
 
virtual void checkBookHists (const edm::EventSetup &setup)
 
void collateSummaryHists ()
 
virtual void endJob () override
 
void fillTree (TTree &tree, TkOffTreeVariables &treeMem, const std::map< int, TrackerOfflineValidation::ModuleHistos > &moduleHist_)
 
std::pair< float, float > fitResiduals (TH1 *hist) const
 
float Fwhm (const TH1 *hist) const
 
void getBinning (uint32_t subDetId, TrackerOfflineValidation::HistogramType residualtype, int &nBinsX, double &lowerBoundX, double &upperBoundX)
 
ModuleHistosgetHistStructFromMap (const DetId &detid)
 
template<class OBJECT_TYPE >
int GetIndex (const std::vector< OBJECT_TYPE * > &vec, const TString &name)
 
float getMedian (const TH1 *hist) const
 
bool isBarrel (uint32_t subDetId)
 
bool isDetOrDetUnit (align::StructureType type)
 
bool isEndCap (uint32_t subDetId)
 
bool isPixel (uint32_t subDetId)
 
void prepareSummaryHists (DirectoryWrapper &tfd, const Alignable &ali, std::vector< TrackerOfflineValidation::SummaryContainer > &vLevelProfiles)
 
void setSummaryBin (int bin, TH1 *targetHist, TH1 *sourceHist)
 
void setUpTreeMembers (const std::map< int, TrackerOfflineValidation::ModuleHistos > &moduleHist_, const TrackerGeometry &tkgeom, const TrackerTopology *tTopo)
 
void summarizeBinInContainer (int bin, SummaryContainer &targetContainer, SummaryContainer &sourceContainer)
 
void summarizeBinInContainer (int bin, uint32_t subDetId, SummaryContainer &targetContainer, ModuleHistos &sourceContainer)
 

Private Attributes

TrackerValidationVariables avalidator_
 
const TrackerGeometrybareTkGeomPtr_
 
const bool dqmMode_
 
const bool lCoorHistOn_
 
const std::string moduleDirectory_
 
const bool moduleLevelHistsTransient_
 
const bool moduleLevelProfiles_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mPxbResiduals_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mPxeResiduals_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mTecResiduals_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mTibResiduals_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mTidResiduals_
 
std::map< int,
TrackerOfflineValidation::ModuleHistos
mTobResiduals_
 
std::map< int, TkOffTreeVariablesmTreeMembers_
 
const edm::ParameterSet parSet_
 
const bool stripYResiduals_
 
std::vector< std::pair< TH1
*, TH1 * > > 
sumHistStructure_
 
std::vector< std::tuple< int,
TH1 *, TH1 * > > 
summaryBins_
 
edm::ESHandle< TrackerGeometrytkGeom_
 
std::vector< TH1 * > toFit_
 
const bool useFit_
 
const bool useFwhm_
 
const bool useOverflowForRMS_
 
std::vector< TH1 * > vDeleteObjects_
 
std::vector< TH1 * > vTrack2DHistos_
 
std::vector< TH1 * > vTrackHistos_
 
std::vector< TH1 * > vTrackProfiles_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 79 of file TrackerOfflineValidation.cc.

Member Enumeration Documentation

Enumerator
XResidual 
NormXResidual 
YResidual 
XprimeResidual 
NormXprimeResidual 
YprimeResidual 
NormYprimeResidual 
XResidualProfile 
YResidualProfile 

Definition at line 84 of file TrackerOfflineValidation.cc.

Constructor & Destructor Documentation

TrackerOfflineValidation::TrackerOfflineValidation ( const edm::ParameterSet iConfig)
explicit

Definition at line 378 of file TrackerOfflineValidation.cc.

TrackerOfflineValidation::~TrackerOfflineValidation ( )

Definition at line 393 of file TrackerOfflineValidation.cc.

Member Function Documentation

void TrackerOfflineValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 1005 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::bookDirHists ( DirectoryWrapper tfd,
const Alignable ali,
const TrackerTopology tTopo 
)
private

Definition at line 631 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::bookGlobalHists ( DirectoryWrapper tfd)
private

Definition at line 459 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::bookHists ( DirectoryWrapper tfd,
const Alignable ali,
const TrackerTopology tTopo,
align::StructureType  type,
int  i 
)
private

Definition at line 659 of file TrackerOfflineValidation.cc.

TrackerOfflineValidation::SummaryContainer TrackerOfflineValidation::bookSummaryHists ( DirectoryWrapper tfd,
const Alignable ali,
align::StructureType  type,
int  i 
)
private

Definition at line 1351 of file TrackerOfflineValidation.cc.

TH1 * TrackerOfflineValidation::bookTH1F ( bool  isTransient,
DirectoryWrapper tfd,
const char *  histName,
const char *  histTitle,
int  nBinsX,
double  lowX,
double  highX 
)
private

Definition at line 817 of file TrackerOfflineValidation.cc.

TProfile * TrackerOfflineValidation::bookTProfile ( bool  isTransient,
DirectoryWrapper tfd,
const char *  histName,
const char *  histTitle,
int  nBinsX,
double  lowX,
double  highX 
)
private

Definition at line 828 of file TrackerOfflineValidation.cc.

TProfile * TrackerOfflineValidation::bookTProfile ( bool  isTransient,
DirectoryWrapper tfd,
const char *  histName,
const char *  histTitle,
int  nBinsX,
double  lowX,
double  highX,
double  lowY,
double  highY 
)
private

Definition at line 841 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::checkBookHists ( const edm::EventSetup setup)
privatevirtual

Definition at line 410 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::collateSummaryHists ( )
private

Definition at line 1331 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 1239 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::fillTree ( TTree &  tree,
TkOffTreeVariables treeMem,
const std::map< int, TrackerOfflineValidation::ModuleHistos > &  moduleHist_ 
)
private

Definition at line 1679 of file TrackerOfflineValidation.cc.

std::pair< float, float > TrackerOfflineValidation::fitResiduals ( TH1 *  hist) const
private

Definition at line 1803 of file TrackerOfflineValidation.cc.

float TrackerOfflineValidation::Fwhm ( const TH1 *  hist) const
private

Definition at line 1533 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::getBinning ( uint32_t  subDetId,
TrackerOfflineValidation::HistogramType  residualtype,
int &  nBinsX,
double &  lowerBoundX,
double &  upperBoundX 
)
private

Definition at line 884 of file TrackerOfflineValidation.cc.

TrackerOfflineValidation::ModuleHistos & TrackerOfflineValidation::getHistStructFromMap ( const DetId detid)
private

Definition at line 976 of file TrackerOfflineValidation.cc.

template<class OBJECT_TYPE >
int TrackerOfflineValidation::GetIndex ( const std::vector< OBJECT_TYPE * > &  vec,
const TString &  name 
)
private

Definition at line 319 of file TrackerOfflineValidation.cc.

float TrackerOfflineValidation::getMedian ( const TH1 *  hist) const
private

Definition at line 1840 of file TrackerOfflineValidation.cc.

bool TrackerOfflineValidation::isBarrel ( uint32_t  subDetId)
private

Definition at line 853 of file TrackerOfflineValidation.cc.

bool TrackerOfflineValidation::isDetOrDetUnit ( align::StructureType  type)
private

Definition at line 876 of file TrackerOfflineValidation.cc.

bool TrackerOfflineValidation::isEndCap ( uint32_t  subDetId)
private

Definition at line 861 of file TrackerOfflineValidation.cc.

bool TrackerOfflineValidation::isPixel ( uint32_t  subDetId)
private

Definition at line 869 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::prepareSummaryHists ( DirectoryWrapper tfd,
const Alignable ali,
std::vector< TrackerOfflineValidation::SummaryContainer > &  vLevelProfiles 
)
private

Definition at line 1276 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::setSummaryBin ( int  bin,
TH1 *  targetHist,
TH1 *  sourceHist 
)
private

Definition at line 937 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::setUpTreeMembers ( const std::map< int, TrackerOfflineValidation::ModuleHistos > &  moduleHist_,
const TrackerGeometry tkgeom,
const TrackerTopology tTopo 
)
private

Definition at line 1563 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::summarizeBinInContainer ( int  bin,
SummaryContainer targetContainer,
SummaryContainer sourceContainer 
)
private

Definition at line 949 of file TrackerOfflineValidation.cc.

void TrackerOfflineValidation::summarizeBinInContainer ( int  bin,
uint32_t  subDetId,
SummaryContainer targetContainer,
ModuleHistos sourceContainer 
)
private

Definition at line 961 of file TrackerOfflineValidation.cc.

Member Data Documentation

TrackerValidationVariables TrackerOfflineValidation::avalidator_
private

Definition at line 306 of file TrackerOfflineValidation.cc.

const TrackerGeometry* TrackerOfflineValidation::bareTkGeomPtr_
private

Definition at line 264 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::dqmMode_
private

Definition at line 274 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::lCoorHistOn_
private

Definition at line 267 of file TrackerOfflineValidation.cc.

const std::string TrackerOfflineValidation::moduleDirectory_
private

Definition at line 275 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::moduleLevelHistsTransient_
private

Definition at line 268 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::moduleLevelProfiles_
private

Definition at line 269 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mPxbResiduals_
private

Definition at line 284 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mPxeResiduals_
private

Definition at line 285 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mTecResiduals_
private

Definition at line 289 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mTibResiduals_
private

Definition at line 286 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mTidResiduals_
private

Definition at line 287 of file TrackerOfflineValidation.cc.

std::map<int,TrackerOfflineValidation::ModuleHistos> TrackerOfflineValidation::mTobResiduals_
private

Definition at line 288 of file TrackerOfflineValidation.cc.

std::map<int,TkOffTreeVariables> TrackerOfflineValidation::mTreeMembers_
private

Definition at line 291 of file TrackerOfflineValidation.cc.

const edm::ParameterSet TrackerOfflineValidation::parSet_
private

Definition at line 262 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::stripYResiduals_
private

Definition at line 270 of file TrackerOfflineValidation.cc.

std::vector<std::pair<TH1*,TH1*> > TrackerOfflineValidation::sumHistStructure_
private

Definition at line 302 of file TrackerOfflineValidation.cc.

std::vector<std::tuple<int,TH1*,TH1*> > TrackerOfflineValidation::summaryBins_
private

Definition at line 300 of file TrackerOfflineValidation.cc.

edm::ESHandle<TrackerGeometry> TrackerOfflineValidation::tkGeom_
private

Definition at line 263 of file TrackerOfflineValidation.cc.

std::vector<TH1*> TrackerOfflineValidation::toFit_
private

Definition at line 304 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::useFit_
private

Definition at line 272 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::useFwhm_
private

Definition at line 271 of file TrackerOfflineValidation.cc.

const bool TrackerOfflineValidation::useOverflowForRMS_
private

Definition at line 273 of file TrackerOfflineValidation.cc.

std::vector<TH1*> TrackerOfflineValidation::vDeleteObjects_
private

Definition at line 278 of file TrackerOfflineValidation.cc.

std::vector<TH1*> TrackerOfflineValidation::vTrack2DHistos_
private

Definition at line 282 of file TrackerOfflineValidation.cc.

std::vector<TH1*> TrackerOfflineValidation::vTrackHistos_
private

Definition at line 280 of file TrackerOfflineValidation.cc.

std::vector<TH1*> TrackerOfflineValidation::vTrackProfiles_
private

Definition at line 281 of file TrackerOfflineValidation.cc.