|
![CMS Logo](/cmsdoxygen/common/rightImage.jpg) |
#include <Alignment/Validator/src/TrackerOfflineValidation.cc>
|
| TrackerOfflineValidation (const edm::ParameterSet &) |
|
| ~TrackerOfflineValidation () override |
|
| EDAnalyzer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDAnalyzerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
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 () |
|
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) |
|
ModuleHistos & | getHistStructFromMap (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) |
|
|
std::unique_ptr< AlignableTracker > | alignableTracker_ |
|
TrackerValidationVariables | avalidator_ |
|
const TrackerGeometry * | bareTkGeomPtr_ |
|
const int | chargeCut_ |
|
const int | compressionSettings_ |
|
const bool | dqmMode_ |
|
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > | geomToken_ |
|
const bool | lCoorHistOn_ |
|
const unsigned long long | maxTracks_ |
|
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, TkOffTreeVariables > | mTreeMembers_ |
|
unsigned long long | nTracks_ |
|
const edm::ParameterSet | parSet_ |
|
const bool | stripYResiduals_ |
|
std::vector< std::pair< TH1 *, TH1 * > > | sumHistStructure_ |
|
std::vector< std::tuple< int, TH1 *, TH1 * > > | summaryBins_ |
|
edm::ESHandle< TrackerGeometry > | tkGeom_ |
|
std::vector< TH1 * > | toFit_ |
|
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | topoToken_ |
|
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_ |
|
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 78 of file TrackerOfflineValidation.cc.
◆ DQMStore
◆ HistogramType
Enumerator |
---|
XResidual | |
NormXResidual | |
YResidual | |
XprimeResidual | |
NormXprimeResidual | |
YprimeResidual | |
NormYprimeResidual | |
XResidualProfile | |
YResidualProfile | |
Definition at line 84 of file TrackerOfflineValidation.cc.
◆ TrackerOfflineValidation()
TrackerOfflineValidation::TrackerOfflineValidation |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
◆ ~TrackerOfflineValidation()
TrackerOfflineValidation::~TrackerOfflineValidation |
( |
| ) |
|
|
override |
◆ analyze()
Implements edm::one::EDAnalyzerBase.
Definition at line 1119 of file TrackerOfflineValidation.cc.
1125 TH1::StatOverflows(kTRUE);
1128 std::vector<TrackerValidationVariables::AVTrackStruct> vTrackstruct;
1131 for (std::vector<TrackerValidationVariables::AVTrackStruct>::const_iterator itT = vTrackstruct.begin();
1132 itT != vTrackstruct.end();
1145 vTrackHistos_[numOfValidHitsindex]->Fill(itT->numberOfValidHits);
1147 vTrackHistos_[numOfLostHitsindex]->Fill(itT->numberOfLostHits);
1151 if (itT->charge > 0)
1154 if (itT->charge < 0)
1164 if (itT->ptError != 0.) {
1166 vTrackHistos_[ptResolutionindex]->Fill(itT->ptError / itT->pt);
1182 vTrackProfiles_[chiProbabsd0index]->Fill(fabs(itT->d0), itT->chi2Prob);
1200 vTrackProfiles_[ptResphiindex]->Fill(itT->phi, itT->ptError / itT->pt);
1202 vTrackProfiles_[ptResetaindex]->Fill(itT->eta, itT->ptError / itT->pt);
1218 vTrack2DHistos_[chiProbabsd0index_2d]->Fill(fabs(itT->d0), itT->chi2Prob);
1235 for (std::vector<TrackerValidationVariables::AVHitStruct>::const_iterator itH = itT->hits.begin();
1236 itH != itT->hits.end();
1238 DetId detid(itH->rawDetId);
1243 histStruct.ResHisto->Fill(itH->resX);
1244 if (itH->resErrX != 0)
1245 histStruct.NormResHisto->Fill(itH->resX / itH->resErrX);
1247 histStruct.ResYHisto->Fill(itH->resY);
1251 if (itH->resXprime != -999.) {
1252 histStruct.ResXprimeHisto->Fill(itH->resXprime);
1282 float tgalpha =
tan(itH->localAlpha);
1283 if (fabs(tgalpha) != 0) {
1284 histStruct.LocalX->Fill(itH->localXnorm, tgalpha * tgalpha);
1285 histStruct.LocalY->Fill(itH->localYnorm, tgalpha * tgalpha);
1297 histStruct.ResXvsXProfile->Fill(itH->localXnorm, itH->resXatTrkY / tgalpha, tgalpha * tgalpha);
1298 histStruct.ResXvsYProfile->Fill(itH->localYnorm, itH->resXatTrkY / tgalpha, tgalpha * tgalpha);
1304 if (itH->resXprimeErr != 0 && itH->resXprimeErr != -999) {
1305 histStruct.NormResXprimeHisto->Fill(itH->resXprime / itH->resXprimeErr);
1309 if (itH->resYprime != -999.) {
1311 histStruct.ResYprimeHisto->Fill(itH->resYprime);
1325 float tgbeta =
tan(itH->localBeta);
1326 if (fabs(tgbeta) != 0) {
1339 histStruct.ResYvsXProfile->Fill(itH->localXnorm, itH->resY / tgbeta, tgbeta * tgbeta);
1340 histStruct.ResYvsYProfile->Fill(itH->localYnorm, itH->resY / tgbeta, tgbeta * tgbeta);
1345 if (itH->resYprimeErr != 0 && itH->resYprimeErr != -999.) {
1346 histStruct.NormResYprimeHisto->Fill(itH->resYprime / itH->resYprimeErr);
1355 TH1::StatOverflows(kFALSE);
References avalidator_, chargeCut_, checkBookHists(), TrackerValidationVariables::fillTrackQuantities(), getHistStructFromMap(), GetIndex(), iEvent, isPixel(), lCoorHistOn_, TrackerOfflineValidation::ModuleHistos::LocalX, TrackerOfflineValidation::ModuleHistos::LocalY, maxTracks_, moduleLevelProfiles_, TrackerOfflineValidation::ModuleHistos::NormResHisto, TrackerOfflineValidation::ModuleHistos::NormResXprimeHisto, TrackerOfflineValidation::ModuleHistos::NormResYprimeHisto, nTracks_, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, TrackerOfflineValidation::ModuleHistos::ResHisto, TrackerOfflineValidation::ModuleHistos::ResXprimeHisto, TrackerOfflineValidation::ModuleHistos::ResXvsXProfile, TrackerOfflineValidation::ModuleHistos::ResXvsYProfile, TrackerOfflineValidation::ModuleHistos::ResYHisto, TrackerOfflineValidation::ModuleHistos::ResYprimeHisto, TrackerOfflineValidation::ModuleHistos::ResYvsXProfile, TrackerOfflineValidation::ModuleHistos::ResYvsYProfile, stripYResiduals_, DetId::subdetId(), funct::tan(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, useOverflowForRMS_, vTrack2DHistos_, vTrackHistos_, and vTrackProfiles_.
◆ bookDirHists()
Definition at line 703 of file TrackerOfflineValidation.cc.
705 for (
int i = 0, iEnd = ali.
components().size();
i < iEnd; ++
i) {
707 LogDebug(
"TrackerOfflineValidation") <<
"StructureName = " << structurename;
711 if (structurename !=
"Strip" && structurename !=
"Pixel")
714 if (structurename.find(
"Endcap", 0) != std::string::npos) {
References Alignable::alignableObjectId(), alignableTracker_, bookHists(), makeMuonMisalignmentScenario::components, Alignable::components(), BTVHLTOfflineSource_cfi::dirname, dqmMode_, f, mps_fire::i, isDetOrDetUnit(), LogDebug, moduleDirectory_, findQualityFiles::size, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by checkBookHists().
◆ bookGlobalHists()
Definition at line 552 of file TrackerOfflineValidation.cc.
553 vTrackHistos_.push_back(tfd.make<TH1F>(
"h_tracketa",
"Track #eta;#eta_{Track};Number of Tracks", 90, -3., 3.));
554 vTrackHistos_.push_back(tfd.make<TH1F>(
"h_trackphi",
"Track #phi;#phi_{Track};Number of Tracks", 90, -3.15, 3.15));
556 "h_trackNumberOfValidHits",
"Track # of valid hits;# of valid hits _{Track};Number of Tracks", 40, 0., 40.));
558 "h_trackNumberOfLostHits",
"Track # of lost hits;# of lost hits _{Track};Number of Tracks", 10, 0., 10.));
560 tfd.make<TH1F>(
"h_curvature",
"Curvature #kappa;#kappa_{Track};Number of Tracks", 100, -.05, .05));
562 "h_curvature_pos",
"Curvature |#kappa| Positive Tracks;|#kappa_{pos Track}|;Number of Tracks", 100, .0, .05));
564 "h_curvature_neg",
"Curvature |#kappa| Negative Tracks;|#kappa_{neg Track}|;Number of Tracks", 100, .0, .05));
566 tfd.make<TH1F>(
"h_diff_curvature",
567 "Curvature |#kappa| Tracks Difference;|#kappa_{Track}|;# Pos Tracks - # Neg Tracks",
571 vTrackHistos_.push_back(tfd.make<TH1F>(
"h_chi2",
"#chi^{2};#chi^{2}_{Track};Number of Tracks", 500, -0.01, 500.));
573 tfd.make<TH1F>(
"h_chi2Prob",
"#chi^{2} probability;#chi^{2}prob_{Track};Number of Tracks", 100, 0.0, 1.));
575 tfd.make<TH1F>(
"h_normchi2",
"#chi^{2}/ndof;#chi^{2}/ndof;Number of Tracks", 100, -0.01, 10.));
576 vTrackHistos_.push_back(tfd.make<TH1F>(
"h_pt",
"p_{T}^{track};p_{T}^{track} [GeV];Number of Tracks", 250, 0., 250));
578 "h_ptResolution",
"#delta_{p_{T}}/p_{T}^{track};#delta_{p_{T}}/p_{T}^{track};Number of Tracks", 100, 0., 0.5));
580 "p_d0_vs_phi",
"Transverse Impact Parameter vs. #phi;#phi_{Track};#LT d_{0} #GT [cm]", 100, -3.15, 3.15));
582 "p_dz_vs_phi",
"Longitudinal Impact Parameter vs. #phi;#phi_{Track};#LT d_{z} #GT [cm]", 100, -3.15, 3.15));
584 "p_d0_vs_eta",
"Transverse Impact Parameter vs. #eta;#eta_{Track};#LT d_{0} #GT [cm]", 100, -3.15, 3.15));
586 "p_dz_vs_eta",
"Longitudinal Impact Parameter vs. #eta;#eta_{Track};#LT d_{z} #GT [cm]", 100, -3.15, 3.15));
588 tfd.make<TProfile>(
"p_chi2_vs_phi",
"#chi^{2} vs. #phi;#phi_{Track};#LT #chi^{2} #GT", 100, -3.15, 3.15));
590 "p_chi2Prob_vs_phi",
"#chi^{2} probablility vs. #phi;#phi_{Track};#LT #chi^{2} probability#GT", 100, -3.15, 3.15));
592 "p_chi2Prob_vs_d0",
"#chi^{2} probablility vs. |d_{0}|;|d_{0}|[cm];#LT #chi^{2} probability#GT", 100, 0, 80));
594 "p_normchi2_vs_phi",
"#chi^{2}/ndof vs. #phi;#phi_{Track};#LT #chi^{2}/ndof #GT", 100, -3.15, 3.15));
596 tfd.make<TProfile>(
"p_chi2_vs_eta",
"#chi^{2} vs. #eta;#eta_{Track};#LT #chi^{2} #GT", 100, -3.15, 3.15));
598 double xBins[19] = {0., 0.15, 0.5, 1., 1.5, 2., 2.5, 3., 3.5, 4., 4.5, 5., 7., 10., 15., 25., 40., 100., 200.};
600 "p_normchi2_vs_pt",
"norm #chi^{2} vs. p_{T}_{Track}; p_{T}_{Track};#LT #chi^{2}/ndof #GT", 18,
xBins));
603 tfd.make<TProfile>(
"p_normchi2_vs_p",
"#chi^{2}/ndof vs. p_{Track};p_{Track};#LT #chi^{2}/ndof #GT", 18,
xBins));
605 "p_chi2Prob_vs_eta",
"#chi^{2} probability vs. #eta;#eta_{Track};#LT #chi^{2} probability #GT", 100, -3.15, 3.15));
607 "p_normchi2_vs_eta",
"#chi^{2}/ndof vs. #eta;#eta_{Track};#LT #chi^{2}/ndof #GT", 100, -3.15, 3.15));
609 tfd.make<TProfile>(
"p_kappa_vs_phi",
"#kappa vs. #phi;#phi_{Track};#kappa", 100, -3.15, 3.15));
611 tfd.make<TProfile>(
"p_kappa_vs_eta",
"#kappa vs. #eta;#eta_{Track};#kappa", 100, -3.15, 3.15));
613 "#delta_{p_{T}}/p_{T}^{track};#phi^{track};#delta_{p_{T}}/p_{T}^{track}",
618 "#delta_{p_{T}}/p_{T}^{track};#eta^{track};#delta_{p_{T}}/p_{T}^{track}",
624 "h2_d0_vs_phi",
"Transverse Impact Parameter vs. #phi;#phi_{Track};d_{0} [cm]", 100, -3.15, 3.15, 100, -1., 1.));
626 "Longitudinal Impact Parameter vs. #phi;#phi_{Track};d_{z} [cm]",
634 "h2_d0_vs_eta",
"Transverse Impact Parameter vs. #eta;#eta_{Track};d_{0} [cm]", 100, -3.15, 3.15, 100, -1., 1.));
636 "Longitudinal Impact Parameter vs. #eta;#eta_{Track};d_{z} [cm]",
644 tfd.make<TH2F>(
"h2_chi2_vs_phi",
"#chi^{2} vs. #phi;#phi_{Track};#chi^{2}", 100, -3.15, 3.15, 500, 0., 500.));
646 "#chi^{2} probability vs. #phi;#phi_{Track};#chi^{2} probability",
654 "#chi^{2} probability vs. |d_{0}|;|d_{0}| [cm];#chi^{2} probability",
662 "h2_normchi2_vs_phi",
"#chi^{2}/ndof vs. #phi;#phi_{Track};#chi^{2}/ndof", 100, -3.15, 3.15, 100, 0., 10.));
664 tfd.make<TH2F>(
"h2_chi2_vs_eta",
"#chi^{2} vs. #eta;#eta_{Track};#chi^{2}", 100, -3.15, 3.15, 500, 0., 500.));
666 "#chi^{2} probaility vs. #eta;#eta_{Track};#chi^{2} probability",
674 "h2_normchi2_vs_eta",
"#chi^{2}/ndof vs. #eta;#eta_{Track};#chi^{2}/ndof", 100, -3.15, 3.15, 100, 0., 10.));
676 tfd.make<TH2F>(
"h2_kappa_vs_phi",
"#kappa vs. #phi;#phi_{Track};#kappa", 100, -3.15, 3.15, 100, .0, .05));
678 tfd.make<TH2F>(
"h2_kappa_vs_eta",
"#kappa vs. #eta;#eta_{Track};#kappa", 100, -3.15, 3.15, 100, .0, .05));
680 "h2_normchi2_vs_kappa",
"#kappa vs. #chi^{2}/ndof;#chi^{2}/ndof;#kappa", 100, 0., 10, 100, -.03, .03));
684 "p_vs_resXprime_pixB",
"res_{x'} vs momentum in BPix;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
686 "p_vs_resXprime_pixE",
"res_{x'} vs momentum in FPix;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
688 "p_vs_resXprime_TIB",
"res_{x'} vs momentum in TIB;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
690 "p_vs_resXprime_TID",
"res_{x'} vs momentum in TID;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
692 "p_vs_resXprime_TOB",
"res_{x'} vs momentum in TOB;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
694 "p_vs_resXprime_TEC",
"res_{x'} vs momentum in TEC;p [GeV]; res_{x'}", 15, 0., 15., 200, -0.1, 0.1));
698 "p_vs_resYprime_pixB",
"res_{y'} vs momentum in BPix;p [GeV]; res_{y'}", 15, 0., 15., 200, -0.1, 0.1));
700 "p_vs_resYprime_pixE",
"res_{y'} vs momentum in FPix;p [GeV]; res_{y'}", 15, 0., 15., 200, -0.1, 0.1));
References TrackerOfflineValidation::DirectoryWrapper::make(), vTrack2DHistos_, vTrackHistos_, vTrackProfiles_, and multiplicitycorr_cfi::xBins.
Referenced by checkBookHists().
◆ bookHists()
Definition at line 728 of file TrackerOfflineValidation.cc.
747 std::stringstream histoname, histotitle, normhistoname, normhistotitle, yhistoname, yhistotitle, xprimehistoname,
748 xprimehistotitle, normxprimehistoname, normxprimehistotitle, yprimehistoname, yprimehistotitle,
749 normyprimehistoname, normyprimehistotitle, localxname, localxtitle, localyname, localytitle, resxvsxprofilename,
750 resxvsxprofiletitle, resyvsxprofilename, resyvsxprofiletitle, resxvsyprofilename, resxvsyprofiletitle,
751 resyvsyprofilename, resyvsyprofiletitle;
755 if (this->
isEndCap(static_cast<uint32_t>(subdetandlayer.first)))
756 wheel_or_layer =
"_wheel_";
757 else if (this->
isBarrel(static_cast<uint32_t>(subdetandlayer.first)))
758 wheel_or_layer =
"_layer_";
760 edm::LogWarning(
"TrackerOfflineValidation") <<
"@SUB=TrackerOfflineValidation::bookHists"
761 <<
"Unknown subdetid: " << subdetandlayer.first;
763 histoname <<
"h_residuals_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second <<
"_module_"
765 yhistoname <<
"h_y_residuals_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second <<
"_module_"
767 xprimehistoname <<
"h_xprime_residuals_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second
768 <<
"_module_" <<
id.rawId();
769 yprimehistoname <<
"h_yprime_residuals_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second
770 <<
"_module_" <<
id.rawId();
771 normhistoname <<
"h_normresiduals_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second
772 <<
"_module_" <<
id.rawId();
773 normxprimehistoname <<
"h_normxprimeresiduals_subdet_" << subdetandlayer.first << wheel_or_layer
774 << subdetandlayer.second <<
"_module_" <<
id.rawId();
775 normyprimehistoname <<
"h_normyprimeresiduals_subdet_" << subdetandlayer.first << wheel_or_layer
776 << subdetandlayer.second <<
"_module_" <<
id.rawId();
777 histotitle <<
"X Residual for module " <<
id.rawId() <<
";x_{tr} - x_{hit} [cm]";
778 yhistotitle <<
"Y Residual for module " <<
id.rawId() <<
";y_{tr} - y_{hit} [cm]";
779 normhistotitle <<
"Normalized Residual for module " <<
id.rawId() <<
";x_{tr} - x_{hit}/#sigma";
780 xprimehistotitle <<
"X' Residual for module " <<
id.rawId() <<
";(x_{tr} - x_{hit})' [cm]";
781 normxprimehistotitle <<
"Normalized X' Residual for module " <<
id.rawId() <<
";(x_{tr} - x_{hit})'/#sigma";
782 yprimehistotitle <<
"Y' Residual for module " <<
id.rawId() <<
";(y_{tr} - y_{hit})' [cm]";
783 normyprimehistotitle <<
"Normalized Y' Residual for module " <<
id.rawId() <<
";(y_{tr} - y_{hit})'/#sigma";
786 localxname <<
"h_localx_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second <<
"_module_"
788 localyname <<
"h_localy_subdet_" << subdetandlayer.first << wheel_or_layer << subdetandlayer.second <<
"_module_"
790 localxtitle <<
"u local for module " <<
id.rawId() <<
"; u_{tr,r}";
791 localytitle <<
"v local for module " <<
id.rawId() <<
"; v_{tr,r}";
793 resxvsxprofilename <<
"p_residuals_x_vs_x_subdet_" << subdetandlayer.first << wheel_or_layer
794 << subdetandlayer.second <<
"_module_" <<
id.rawId();
795 resyvsxprofilename <<
"p_residuals_y_vs_x_subdet_" << subdetandlayer.first << wheel_or_layer
796 << subdetandlayer.second <<
"_module_" <<
id.rawId();
797 resxvsyprofilename <<
"p_residuals_x_vs_y_subdet_" << subdetandlayer.first << wheel_or_layer
798 << subdetandlayer.second <<
"_module_" <<
id.rawId();
799 resyvsyprofilename <<
"p_residuals_y_vs_y_subdet_" << subdetandlayer.first << wheel_or_layer
800 << subdetandlayer.second <<
"_module_" <<
id.rawId();
801 resxvsxprofiletitle <<
"U Residual vs u for module " <<
id.rawId()
802 <<
"; u_{tr,r} ;(u_{tr} - u_{hit})/tan#alpha [cm]";
803 resyvsxprofiletitle <<
"V Residual vs u for module " <<
id.rawId()
804 <<
"; u_{tr,r} ;(v_{tr} - v_{hit})/tan#beta [cm]";
805 resxvsyprofiletitle <<
"U Residual vs v for module " <<
id.rawId()
806 <<
"; v_{tr,r} ;(u_{tr} - u_{hit})/tan#alpha [cm]";
807 resyvsyprofiletitle <<
"V Residual vs v for module " <<
id.rawId()
808 <<
"; v_{tr,r} ;(v_{tr} - v_{hit})/tan#beta [cm]";
825 histStruct.ResHisto = this->
bookTH1F(
828 histStruct.NormResHisto = this->
bookTH1F(
834 xprimehistoname.str().c_str(),
835 xprimehistotitle.str().c_str(),
842 normxprimehistoname.str().c_str(),
843 normxprimehistotitle.str().c_str(),
857 resxvsxprofilename.str().c_str(),
858 resxvsxprofiletitle.str().c_str(),
864 histStruct.ResXvsXProfile->Sumw2();
867 resxvsyprofilename.str().c_str(),
868 resxvsyprofiletitle.str().c_str(),
874 histStruct.ResXvsYProfile->Sumw2();
881 yprimehistoname.str().c_str(),
882 yprimehistotitle.str().c_str(),
888 histStruct.ResYHisto = this->
bookTH1F(
894 normyprimehistoname.str().c_str(),
895 normyprimehistotitle.str().c_str(),
905 resyvsxprofilename.str().c_str(),
906 resyvsxprofiletitle.str().c_str(),
912 histStruct.ResYvsXProfile->Sumw2();
915 resyvsyprofilename.str().c_str(),
916 resyvsyprofiletitle.str().c_str(),
922 histStruct.ResYvsYProfile->Sumw2();
References align::AlignableDetUnit, Alignable::alignableObjectId(), bookTH1F(), bookTProfile(), dqmMode_, getBinning(), getHistStructFromMap(), Alignable::id(), align::invalid, isBarrel(), isDetOrDetUnit(), isEndCap(), isPixel(), lCoorHistOn_, TrackerOfflineValidation::ModuleHistos::LocalX, TrackerOfflineValidation::ModuleHistos::LocalY, TrackerOfflineValidation_Standalone_cff::moduleLevelHistsTransient, moduleLevelHistsTransient_, moduleLevelProfiles_, LaserClient_cfi::nbins, TrackerOfflineValidation::ModuleHistos::NormResHisto, TrackerOfflineValidation::ModuleHistos::NormResXprimeHisto, TrackerOfflineValidation::ModuleHistos::NormResYprimeHisto, NormXprimeResidual, NormXResidual, NormYprimeResidual, TrackerOfflineValidation::ModuleHistos::ResHisto, TrackerOfflineValidation::ModuleHistos::ResXprimeHisto, TrackerOfflineValidation::ModuleHistos::ResXvsXProfile, TrackerOfflineValidation::ModuleHistos::ResXvsYProfile, TrackerOfflineValidation::ModuleHistos::ResYHisto, TrackerOfflineValidation::ModuleHistos::ResYprimeHisto, TrackerOfflineValidation::ModuleHistos::ResYvsXProfile, TrackerOfflineValidation::ModuleHistos::ResYvsYProfile, AlCaHLTBitMon_QueryRunRegistry::string, stripYResiduals_, TrackerAlignableId::typeAndLayerFromDetId(), TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, XprimeResidual, XResidual, XResidualProfile, L1TOccupancyClient_cfi::ymax, L1TOccupancyClient_cfi::ymin, YprimeResidual, YResidual, and YResidualProfile.
Referenced by bookDirHists().
◆ bookSummaryHists()
Definition at line 1481 of file TrackerOfflineValidation.cc.
1488 const char* aliTypeName =
alignableTracker_->objectIdProvider().idToString(alitype);
1489 const char* aliSubtypeName =
alignableTracker_->objectIdProvider().idToString(subtype);
1492 const DetId aliDetId = ali.
id();
1496 SummaryContainer sumContainer;
1502 const uint subcompSize = ali.
components()[0]->components().size();
1504 const TString
title(Form(
"Summary for substructures in %s %d;%s;", aliTypeName,
i, aliSubtypeName));
1506 sumContainer.summaryXResiduals_ = tfd.make<TH1F>(
1507 Form(
"h_summaryX%s_%d", aliTypeName,
i),
title +
"#LT #Delta x' #GT", aliSize, 0.5, aliSize + 0.5);
1508 sumContainer.summaryNormXResiduals_ = tfd.make<TH1F>(
1509 Form(
"h_summaryNormX%s_%d", aliTypeName,
i),
title +
"#LT #Delta x'/#sigma #GT", aliSize, 0.5, aliSize + 0.5);
1512 sumContainer.summaryYResiduals_ = tfd.make<TH1F>(
1513 Form(
"h_summaryY%s_%d", aliTypeName,
i),
title +
"#LT #Delta y' #GT", aliSize, 0.5, aliSize + 0.5);
1514 sumContainer.summaryNormYResiduals_ = tfd.make<TH1F>(
1515 Form(
"h_summaryNormY%s_%d", aliTypeName,
i),
title +
"#LT #Delta y'/#sigma #GT", aliSize, 0.5, aliSize + 0.5);
1519 if (subcompSize != 2) {
1522 <<
"Det with " << subcompSize <<
" components";
1525 const TString
title(Form(
1526 "Summary for substructures in %s %d;%s;",
1531 sumContainer.summaryXResiduals_ = tfd.make<TH1F>(
1532 Form(
"h_summaryX%s_%d", aliTypeName,
i),
title +
"#LT #Delta x' #GT", (2 * aliSize), 0.5, 2 * aliSize + 0.5);
1533 sumContainer.summaryNormXResiduals_ = tfd.make<TH1F>(Form(
"h_summaryNormX%s_%d", aliTypeName,
i),
1534 title +
"#LT #Delta x'/#sigma #GT",
1540 sumContainer.summaryYResiduals_ = tfd.make<TH1F>(
1541 Form(
"h_summaryY%s_%d", aliTypeName,
i),
title +
"#LT #Delta y' #GT", (2 * aliSize), 0.5, 2 * aliSize + 0.5);
1542 sumContainer.summaryNormYResiduals_ = tfd.make<TH1F>(Form(
"h_summaryNormY%s_%d", aliTypeName,
i),
1543 title +
"#LT #Delta y'/#sigma #GT",
1551 <<
"@SUB=TrackerOfflineValidation::bookSummaryHists"
1552 <<
"No summary histogram for hierarchy level " << aliTypeName <<
" in subdet " << aliDetId.
subdetId();
1560 const TString sumTitle(Form(
"Residual for %s %d in %s;", aliTypeName,
i,
typeName));
1564 sumContainer.sumXResiduals_ = tfd.make<TH1F>(Form(
"h_Xprime_%s_%d", aliTypeName,
i),
1565 sumTitle + xTitHists.ResXprimeHisto->GetXaxis()->GetTitle(),
1571 sumContainer.sumNormXResiduals_ = tfd.make<TH1F>(Form(
"h_NormXprime_%s_%d", aliTypeName,
i),
1572 sumTitle + xTitHists.NormResXprimeHisto->GetXaxis()->GetTitle(),
1579 sumContainer.sumResXvsXProfile_ = tfd.make<TProfile>(Form(
"p_resXX_%s_%d", aliTypeName,
i),
1580 sumTitle + xTitHists.ResXvsXProfile->GetXaxis()->GetTitle() +
1581 ";" + xTitHists.ResXvsXProfile->GetYaxis()->GetTitle(),
1585 sumContainer.sumResXvsXProfile_->Sumw2();
1586 sumContainer.sumResXvsYProfile_ = tfd.make<TProfile>(Form(
"p_resXY_%s_%d", aliTypeName,
i),
1587 sumTitle + xTitHists.ResXvsYProfile->GetXaxis()->GetTitle() +
1588 ";" + xTitHists.ResXvsYProfile->GetYaxis()->GetTitle(),
1592 sumContainer.sumResXvsYProfile_->Sumw2();
1597 sumContainer.sumYResiduals_ = tfd.make<TH1F>(Form(
"h_Yprime_%s_%d", aliTypeName,
i),
1598 sumTitle + xTitHists.ResYprimeHisto->GetXaxis()->GetTitle(),
1604 sumContainer.sumNormYResiduals_ = tfd.make<TH1F>(Form(
"h_NormYprime_%s_%d", aliTypeName,
i),
1605 sumTitle + xTitHists.NormResYprimeHisto->GetXaxis()->GetTitle(),
1612 sumContainer.sumResYvsXProfile_ = tfd.make<TProfile>(Form(
"p_resYX_%s_%d", aliTypeName,
i),
1613 sumTitle + xTitHists.ResYvsXProfile->GetXaxis()->GetTitle() +
1614 ";" + xTitHists.ResYvsXProfile->GetYaxis()->GetTitle(),
1618 sumContainer.sumResYvsXProfile_->Sumw2();
1619 sumContainer.sumResYvsYProfile_ = tfd.make<TProfile>(Form(
"p_resYY_%s_%d", aliTypeName,
i),
1620 sumTitle + xTitHists.ResYvsYProfile->GetXaxis()->GetTitle() +
1621 ";" + xTitHists.ResYvsYProfile->GetYaxis()->GetTitle(),
1625 sumContainer.sumResYvsYProfile_->Sumw2();
1633 for (
uint k = 0;
k < aliSize; ++
k) {
1637 sumHistStructure_.emplace_back(sumContainer.sumXResiduals_, histStruct.ResXprimeHisto);
1638 sumHistStructure_.emplace_back(sumContainer.sumNormXResiduals_, histStruct.NormResXprimeHisto);
1640 sumHistStructure_.emplace_back(sumContainer.sumResXvsXProfile_, histStruct.ResXvsXProfile);
1641 sumHistStructure_.emplace_back(sumContainer.sumResXvsYProfile_, histStruct.ResXvsYProfile);
1644 sumHistStructure_.emplace_back(sumContainer.sumYResiduals_, histStruct.ResYprimeHisto);
1645 sumHistStructure_.emplace_back(sumContainer.sumNormYResiduals_, histStruct.NormResYprimeHisto);
1647 sumHistStructure_.emplace_back(sumContainer.sumResYvsXProfile_, histStruct.ResYvsXProfile);
1648 sumHistStructure_.emplace_back(sumContainer.sumResYvsYProfile_, histStruct.ResYvsYProfile);
1654 for (
uint k = 0;
k < aliSize; ++
k) {
1655 for (
uint j = 0;
j < subcompSize; ++
j) {
1659 sumHistStructure_.emplace_back(sumContainer.sumXResiduals_, histStruct.ResXprimeHisto);
1660 sumHistStructure_.emplace_back(sumContainer.sumNormXResiduals_, histStruct.NormResXprimeHisto);
1662 sumHistStructure_.emplace_back(sumContainer.sumResXvsXProfile_, histStruct.ResXvsXProfile);
1663 sumHistStructure_.emplace_back(sumContainer.sumResXvsYProfile_, histStruct.ResXvsYProfile);
1666 sumHistStructure_.emplace_back(sumContainer.sumYResiduals_, histStruct.ResYprimeHisto);
1667 sumHistStructure_.emplace_back(sumContainer.sumNormYResiduals_, histStruct.NormResYprimeHisto);
1669 sumHistStructure_.emplace_back(sumContainer.sumResYvsXProfile_, histStruct.ResYvsXProfile);
1670 sumHistStructure_.emplace_back(sumContainer.sumResYvsYProfile_, histStruct.ResYvsYProfile);
1676 return sumContainer;
References align::AlignableDet, align::AlignableDetUnit, Alignable::alignableObjectId(), alignableTracker_, Alignable::components(), getBinning(), getHistStructFromMap(), mps_fire::i, Alignable::id(), isPixel(), dqmiolumiharvest::j, dqmdumpme::k, TrackerOfflineValidation::DirectoryWrapper::make(), moduleLevelProfiles_, LaserClient_cfi::nbins, TrackerOfflineValidation::ModuleHistos::NormResXprimeHisto, TrackerOfflineValidation::ModuleHistos::NormResYprimeHisto, NormXprimeResidual, NormYprimeResidual, TrackerOfflineValidation::ModuleHistos::ResXprimeHisto, TrackerOfflineValidation::ModuleHistos::ResXvsXProfile, TrackerOfflineValidation::ModuleHistos::ResXvsYProfile, TrackerOfflineValidation::ModuleHistos::ResYprimeHisto, TrackerOfflineValidation::ModuleHistos::ResYvsXProfile, TrackerOfflineValidation::ModuleHistos::ResYvsYProfile, stripYResiduals_, DetId::subdetId(), sumHistStructure_, summarizeBinInContainer(), runGCPTkAlMap::title, dqmiodumpindices::typeName, parallelization::uint, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, XprimeResidual, XResidualProfile, YprimeResidual, and YResidualProfile.
Referenced by prepareSummaryHists().
◆ bookTH1F()
TH1 * TrackerOfflineValidation::bookTH1F |
( |
bool |
isTransient, |
|
|
DirectoryWrapper & |
tfd, |
|
|
const char * |
histName, |
|
|
const char * |
histTitle, |
|
|
int |
nBinsX, |
|
|
double |
lowX, |
|
|
double |
highX |
|
) |
| |
|
private |
◆ bookTProfile() [1/2]
TProfile * TrackerOfflineValidation::bookTProfile |
( |
bool |
isTransient, |
|
|
DirectoryWrapper & |
tfd, |
|
|
const char * |
histName, |
|
|
const char * |
histTitle, |
|
|
int |
nBinsX, |
|
|
double |
lowX, |
|
|
double |
highX |
|
) |
| |
|
private |
◆ bookTProfile() [2/2]
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 957 of file TrackerOfflineValidation.cc.
967 TProfile*
profile =
new TProfile(histName,
histTitle, nBinsX, lowX, highX, lowY, highY);
971 return (TProfile*)tfd.make<TProfile>(histName,
histTitle, nBinsX, lowX, highX, lowY, highY);
References B2GTnPMonitor_cfi::histTitle, TrackerOfflineValidation::DirectoryWrapper::make(), PostProcessor_cff::profile, and vDeleteObjects_.
◆ checkBookHists()
void TrackerOfflineValidation::checkBookHists |
( |
const edm::EventSetup & |
setup | ) |
|
|
privatevirtual |
Definition at line 508 of file TrackerOfflineValidation.cc.
524 <<
"There are " << newBareTkGeomPtr->
detIds().size() <<
" dets in the Geometry record.\n"
525 <<
"Out of these " << newBareTkGeomPtr->
detUnitIds().size() <<
" are detUnits";
536 std::vector<TrackerOfflineValidation::SummaryContainer> vTrackerprofiles;
547 <<
"TrackerGeometry changed, but will not re-book hists!";
References alignableTracker_, bareTkGeomPtr_, bookDirHists(), bookGlobalHists(), TrackerGeometry::detIds(), TrackerGeometry::detUnitIds(), dqmMode_, geomToken_, edm::EventSetup::getData(), edm::EventSetup::getHandle(), moduleDirectory_, mPxbResiduals_, mPxeResiduals_, mTecResiduals_, mTibResiduals_, mTidResiduals_, mTobResiduals_, prepareSummaryHists(), setUpTreeMembers(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, and topoToken_.
Referenced by analyze().
◆ collateSummaryHists()
void TrackerOfflineValidation::collateSummaryHists |
( |
| ) |
|
|
private |
◆ endJob()
void TrackerOfflineValidation::endJob |
( |
void |
| ) |
|
|
overrideprivatevirtual |
Reimplemented from edm::one::EDAnalyzerBase.
Definition at line 1359 of file TrackerOfflineValidation.cc.
1383 TTree*
tree = fs->
make<TTree>(
"TkOffVal",
"TkOffVal");
1389 tree->Branch(
"TkOffTreeVariables", &treeMemPtr);
1399 treeMemPtr =
nullptr;
References collateSummaryHists(), compressionSettings_, dqmMode_, TFileService::file(), fillTree(), GetIndex(), TFileService::make(), mPxbResiduals_, mPxeResiduals_, mTecResiduals_, mTibResiduals_, mTidResiduals_, mTobResiduals_, edm::ESHandle< T >::product(), tkGeom_, and vTrackHistos_.
Referenced by o2olib.O2ORunMgr::executeJob().
◆ fillTree()
Definition at line 1842 of file TrackerOfflineValidation.cc.
1845 for (std::map<int, TrackerOfflineValidation::ModuleHistos>::const_iterator it = moduleHist_.begin(),
1846 itEnd = moduleHist_.end();
1852 treeMem.
entries = static_cast<UInt_t>(it->second.ResXprimeHisto->GetEntries());
1853 treeMem.
meanX = it->second.ResXprimeHisto->GetMean();
1854 treeMem.
rmsX = it->second.ResXprimeHisto->GetRMS();
1860 std::pair<float, float> fitResult1 = this->
fitResiduals(it->second.ResXprimeHisto);
1861 treeMem.
fitMeanX = fitResult1.first;
1864 std::pair<float, float> fitResult2 = this->
fitResiduals(it->second.NormResXprimeHisto);
1872 int numberOfBins = it->second.ResXprimeHisto->GetNbinsX();
1876 it->second.ResXprimeHisto->GetBinContent(0) + it->second.ResXprimeHisto->GetBinContent(
numberOfBins + 1);
1879 treeMem.
meanNormX = it->second.NormResXprimeHisto->GetMean();
1880 treeMem.
rmsNormX = it->second.NormResXprimeHisto->GetRMS();
1883 it->second.NormResXprimeHisto->GetStats(
stats);
1888 treeMem.
sigmaNormX =
Fwhm(it->second.NormResXprimeHisto) / 2.355;
1889 treeMem.
histNameX = it->second.ResXprimeHisto->GetName();
1890 treeMem.
histNameNormX = it->second.NormResXprimeHisto->GetName();
1894 treeMem.
meanLocalX = it->second.ResHisto->GetMean();
1895 treeMem.
rmsLocalX = it->second.ResHisto->GetRMS();
1901 if (it->second.ResYHisto)
1907 if (it->second.ResYprimeHisto) {
1908 TH1*
h = it->second.ResYprimeHisto;
1909 treeMem.
meanY =
h->GetMean();
1910 treeMem.
rmsY =
h->GetRMS();
1913 std::pair<float, float> fitMeanSigma = this->
fitResiduals(h);
1914 treeMem.
fitMeanY = fitMeanSigma.first;
1915 treeMem.
fitSigmaY = fitMeanSigma.second;
1923 if (it->second.NormResYprimeHisto) {
1924 TH1*
h = it->second.NormResYprimeHisto;
1932 std::pair<float, float> fitMeanSigma = this->
fitResiduals(h);
1940 if (it->second.ResXvsXProfile) {
1941 TH1*
h = it->second.ResXvsXProfile;
1946 if (it->second.ResXvsYProfile) {
1947 TH1*
h = it->second.ResXvsYProfile;
1952 if (it->second.ResYvsXProfile) {
1953 TH1*
h = it->second.ResYvsXProfile;
1958 if (it->second.ResYvsYProfile) {
1959 TH1*
h = it->second.ResYvsYProfile;
References TkOffTreeVariables::chi2PerDofX, TkOffTreeVariables::chi2PerDofY, TkOffTreeVariables::entries, TkOffTreeVariables::fitMeanNormX, TkOffTreeVariables::fitMeanNormY, TkOffTreeVariables::fitMeanX, TkOffTreeVariables::fitMeanY, fitResiduals(), TkOffTreeVariables::fitSigmaNormX, TkOffTreeVariables::fitSigmaNormY, TkOffTreeVariables::fitSigmaX, TkOffTreeVariables::fitSigmaY, Fwhm(), getMedian(), TkOffTreeVariables::histNameLocalX, TkOffTreeVariables::histNameLocalY, TkOffTreeVariables::histNameNormLocalX, TkOffTreeVariables::histNameNormX, TkOffTreeVariables::histNameNormY, TkOffTreeVariables::histNameX, TkOffTreeVariables::histNameY, lCoorHistOn_, TkOffTreeVariables::meanLocalX, TkOffTreeVariables::meanNormLocalX, TkOffTreeVariables::meanNormX, TkOffTreeVariables::meanNormY, TkOffTreeVariables::meanResXvsX, TkOffTreeVariables::meanResXvsY, TkOffTreeVariables::meanResYvsX, TkOffTreeVariables::meanResYvsY, TkOffTreeVariables::meanX, TkOffTreeVariables::meanY, TkOffTreeVariables::medianX, TkOffTreeVariables::medianY, moduleLevelProfiles_, mTreeMembers_, spclusmultinvestigator_cfi::numberOfBins, TkOffTreeVariables::numberOfOutliers, TkOffTreeVariables::numberOfOverflows, TkOffTreeVariables::numberOfUnderflows, TkOffTreeVariables::profileNameResXvsX, TkOffTreeVariables::profileNameResXvsY, TkOffTreeVariables::profileNameResYvsX, TkOffTreeVariables::profileNameResYvsY, TkOffTreeVariables::rmsLocalX, TkOffTreeVariables::rmsNormLocalX, TkOffTreeVariables::rmsNormX, TkOffTreeVariables::rmsNormY, TkOffTreeVariables::rmsResXvsX, TkOffTreeVariables::rmsResXvsY, TkOffTreeVariables::rmsResYvsX, TkOffTreeVariables::rmsResYvsY, TkOffTreeVariables::rmsX, TkOffTreeVariables::rmsY, TkOffTreeVariables::sigmaNormX, dqmMemoryStats::stats, and useFit_.
Referenced by endJob(), and core.AutoFillTreeProducer.AutoFillTreeProducer::process().
◆ fitResiduals()
std::pair< float, float > TrackerOfflineValidation::fitResiduals |
( |
TH1 * |
hist | ) |
const |
|
private |
◆ Fwhm()
float TrackerOfflineValidation::Fwhm |
( |
const TH1 * |
hist | ) |
const |
|
private |
◆ getBinning()
Definition at line 992 of file TrackerOfflineValidation.cc.
1055 lowerBoundX = binningPSet.
getParameter<
double>(
"xmin");
1056 upperBoundX = binningPSet.
getParameter<
double>(
"xmax");
References edm::ParameterSet::getParameter(), isPixel(), NormXprimeResidual, NormXResidual, NormYprimeResidual, parSet_, XprimeResidual, XResidual, XResidualProfile, YprimeResidual, YResidual, and YResidualProfile.
Referenced by bookHists(), and bookSummaryHists().
◆ getHistStructFromMap()
Definition at line 1093 of file TrackerOfflineValidation.cc.
1112 <<
"[TrackerOfflineValidation] Error, tried to get reference for non-tracker subdet " << subdetid
1113 <<
" from detector " << detid.
det();
References DetId::det(), Exception, mPxbResiduals_, mPxeResiduals_, mTecResiduals_, mTibResiduals_, mTidResiduals_, mTobResiduals_, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::rawId(), DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, and parallelization::uint.
Referenced by analyze(), bookHists(), and bookSummaryHists().
◆ GetIndex()
template<class OBJECT_TYPE >
int TrackerOfflineValidation::GetIndex |
( |
const std::vector< OBJECT_TYPE * > & |
vec, |
|
|
const TString & |
name |
|
) |
| |
|
private |
◆ getMedian()
float TrackerOfflineValidation::getMedian |
( |
const TH1 * |
hist | ) |
const |
|
private |
◆ isBarrel()
bool TrackerOfflineValidation::isBarrel |
( |
uint32_t |
subDetId | ) |
|
|
private |
◆ isDetOrDetUnit()
◆ isEndCap()
bool TrackerOfflineValidation::isEndCap |
( |
uint32_t |
subDetId | ) |
|
|
private |
◆ isPixel()
bool TrackerOfflineValidation::isPixel |
( |
uint32_t |
subDetId | ) |
|
|
private |
◆ prepareSummaryHists()
Definition at line 1402 of file TrackerOfflineValidation.cc.
1410 for (
int iComp = 0, iCompEnd = ali.
components().size(); iComp < iCompEnd; ++iComp) {
1411 std::vector<TrackerOfflineValidation::SummaryContainer> vProfiles;
1414 LogDebug(
"TrackerOfflineValidation") <<
"StructureName = " << structurename;
1419 if (structurename !=
"Strip" && structurename !=
"Pixel")
1426 TH1* hX = vLevelProfiles[iComp].sumXResiduals_;
1427 TH1* hNormX = vLevelProfiles[iComp].sumNormXResiduals_;
1428 TH1* hY = vLevelProfiles[iComp].sumYResiduals_;
1429 TH1* hNormY = vLevelProfiles[iComp].sumNormYResiduals_;
1430 TH1* pXX = vLevelProfiles[iComp].sumResXvsXProfile_;
1431 TH1* pXY = vLevelProfiles[iComp].sumResXvsYProfile_;
1432 TH1* pYX = vLevelProfiles[iComp].sumResYvsXProfile_;
1433 TH1* pYY = vLevelProfiles[iComp].sumResYvsYProfile_;
1434 for (
uint n = 0;
n < vProfiles.size(); ++
n) {
1454 toFit_.push_back(vLevelProfiles[iComp].sumXResiduals_);
1455 toFit_.push_back(vLevelProfiles[iComp].sumNormXResiduals_);
1459 toFit_.push_back(hNormY);
References Alignable::alignableObjectId(), alignableTracker_, bookSummaryHists(), makeMuonMisalignmentScenario::components, Alignable::components(), BTVHLTOfflineSource_cfi::dirname, dqmMode_, f, isDetOrDetUnit(), LogDebug, moduleDirectory_, dqmiodumpmetadata::n, findQualityFiles::size, AlCaHLTBitMon_QueryRunRegistry::string, sumHistStructure_, summarizeBinInContainer(), toFit_, and parallelization::uint.
Referenced by checkBookHists().
◆ setSummaryBin()
void TrackerOfflineValidation::setSummaryBin |
( |
int |
bin, |
|
|
TH1 * |
targetHist, |
|
|
TH1 * |
sourceHist |
|
) |
| |
|
private |
◆ setUpTreeMembers()
Definition at line 1705 of file TrackerOfflineValidation.cc.
1708 for (std::map<int, TrackerOfflineValidation::ModuleHistos>::const_iterator it = moduleHist_.begin(),
1709 itEnd = moduleHist_.end();
1715 DetId detId_ = it->first;
1721 unsigned int whichHalfBarrel(1), rawId(detId_.
rawId());
1722 if ((rawId >= 302056964 && rawId < 302059300) || (rawId >= 302123268 && rawId < 302127140) ||
1723 (rawId >= 302189572 && rawId < 302194980))
1724 whichHalfBarrel = 2;
1726 treeMem.
half = whichHalfBarrel;
1730 unsigned int whichHalfCylinder(1), rawId(detId_.
rawId());
1731 if ((rawId >= 352394500 && rawId < 352406032) || (rawId >= 352460036 && rawId < 352471568) ||
1732 (rawId >= 344005892 && rawId < 344017424) || (rawId >= 344071428 && rawId < 344082960))
1733 whichHalfCylinder = 2;
1736 treeMem.
half = whichHalfCylinder;
1741 unsigned int whichHalfShell(1), rawId(detId_.
rawId());
1742 if ((rawId >= 369120484 && rawId < 369120688) || (rawId >= 369121540 && rawId < 369121776) ||
1743 (rawId >= 369136932 && rawId < 369137200) || (rawId >= 369137988 && rawId < 369138288) ||
1744 (rawId >= 369153396 && rawId < 369153744) || (rawId >= 369154436 && rawId < 369154800) ||
1745 (rawId >= 369169844 && rawId < 369170256) || (rawId >= 369170900 && rawId < 369171344) ||
1746 (rawId >= 369124580 && rawId < 369124784) || (rawId >= 369125636 && rawId < 369125872) ||
1747 (rawId >= 369141028 && rawId < 369141296) || (rawId >= 369142084 && rawId < 369142384) ||
1748 (rawId >= 369157492 && rawId < 369157840) || (rawId >= 369158532 && rawId < 369158896) ||
1749 (rawId >= 369173940 && rawId < 369174352) || (rawId >= 369174996 && rawId < 369175440))
1753 treeMem.
half = whichHalfShell;
1790 treeMem.
posX = gPModule.
x();
1791 treeMem.
posY = gPModule.
y();
1792 treeMem.
posZ = gPModule.
z();
1797 LocalPoint lUDirection(1., 0., 0.), lVDirection(0., 1., 0.), lWDirection(0., 0., 1.);
1799 gWDirection = surface.
toGlobal(lWDirection);
1800 double dR(999.),
dPhi(999.), dZ(999.);
1803 dR = gWDirection.perp() - gPModule.
perp();
1805 dZ = gVDirection.z() - gPModule.
z();
1813 dZ = gWDirection.z() - gPModule.
z();
1819 dR = gVDirection.perp() - gPModule.
perp();
1821 dZ = gWDirection.z() - gPModule.
z();
References PV3DBase< T, PVType, FrameType >::barePhi(), TkOffTreeVariables::blade, SiPixelRawToDigiRegional_cfi::deltaPhi, HLT_FULL_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), TkOffTreeVariables::half, TrackerGeometry::idToDet(), TkOffTreeVariables::isDoubleSide, TkOffTreeVariables::isStereo, TkOffTreeVariables::layer, TkOffTreeVariables::module, TkOffTreeVariables::moduleId, mTreeMembers_, TkOffTreeVariables::outerInner, TkOffTreeVariables::panel, PV3DBase< T, PVType, FrameType >::perp(), TkOffTreeVariables::petal, PV3DBase< T, PVType, FrameType >::phi(), TkOffTreeVariables::phiDirection, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, TkOffTreeVariables::posEta, GeomDet::position(), TkOffTreeVariables::posPhi, TkOffTreeVariables::posR, TkOffTreeVariables::posX, TkOffTreeVariables::posY, TkOffTreeVariables::posZ, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), TrackerTopology::pxfSide(), DetId::rawId(), TkOffTreeVariables::rDirection, TkOffTreeVariables::ring, TkOffTreeVariables::rod, TkOffTreeVariables::rOrZDirection, TkOffTreeVariables::side, DetId::subdetId(), TkOffTreeVariables::subDetId, GeomDet::surface(), StripSubdetector::TEC, TrackerTopology::tecIsDoubleSide(), TrackerTopology::tecModule(), TrackerTopology::tecPetalInfo(), TrackerTopology::tecRing(), TrackerTopology::tecSide(), TrackerTopology::tecStereo(), TrackerTopology::tecWheel(), StripSubdetector::TIB, TrackerTopology::tibIsDoubleSide(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibStereo(), TrackerTopology::tibStringInfo(), StripSubdetector::TID, TrackerTopology::tidIsDoubleSide(), TrackerTopology::tidModuleInfo(), TrackerTopology::tidRing(), TrackerTopology::tidSide(), TrackerTopology::tidStereo(), TrackerTopology::tidWheel(), StripSubdetector::TOB, TrackerTopology::tobIsDoubleSide(), TrackerTopology::tobLayer(), TrackerTopology::tobModule(), TrackerTopology::tobRodInfo(), TrackerTopology::tobStereo(), Surface::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and TkOffTreeVariables::zDirection.
Referenced by checkBookHists().
◆ summarizeBinInContainer() [1/2]
Definition at line 1070 of file TrackerOfflineValidation.cc.
1073 summaryBins_.emplace_back(
bin, targetContainer.summaryXResiduals_, sourceContainer.sumXResiduals_);
1074 summaryBins_.emplace_back(
bin, targetContainer.summaryNormXResiduals_, sourceContainer.sumNormXResiduals_);
1076 summaryBins_.emplace_back(
bin, targetContainer.summaryYResiduals_, sourceContainer.sumYResiduals_);
1077 summaryBins_.emplace_back(
bin, targetContainer.summaryNormYResiduals_, sourceContainer.sumNormYResiduals_);
References newFWLiteAna::bin, summaryBins_, TrackerOfflineValidation::SummaryContainer::summaryNormXResiduals_, TrackerOfflineValidation::SummaryContainer::summaryNormYResiduals_, TrackerOfflineValidation::SummaryContainer::summaryXResiduals_, TrackerOfflineValidation::SummaryContainer::summaryYResiduals_, TrackerOfflineValidation::SummaryContainer::sumNormXResiduals_, TrackerOfflineValidation::SummaryContainer::sumNormYResiduals_, TrackerOfflineValidation::SummaryContainer::sumXResiduals_, and TrackerOfflineValidation::SummaryContainer::sumYResiduals_.
Referenced by bookSummaryHists(), and prepareSummaryHists().
◆ summarizeBinInContainer() [2/2]
void TrackerOfflineValidation::summarizeBinInContainer |
( |
int |
bin, |
|
|
uint32_t |
subDetId, |
|
|
SummaryContainer & |
targetContainer, |
|
|
ModuleHistos & |
sourceContainer |
|
) |
| |
|
private |
Definition at line 1080 of file TrackerOfflineValidation.cc.
1085 summaryBins_.emplace_back(
bin, targetContainer.summaryXResiduals_, sourceContainer.ResXprimeHisto);
1086 summaryBins_.emplace_back(
bin, targetContainer.summaryNormXResiduals_, sourceContainer.NormResXprimeHisto);
1088 summaryBins_.emplace_back(
bin, targetContainer.summaryYResiduals_, sourceContainer.ResYprimeHisto);
1089 summaryBins_.emplace_back(
bin, targetContainer.summaryNormYResiduals_, sourceContainer.NormResYprimeHisto);
References newFWLiteAna::bin, isPixel(), TrackerOfflineValidation::ModuleHistos::NormResXprimeHisto, TrackerOfflineValidation::ModuleHistos::NormResYprimeHisto, TrackerOfflineValidation::ModuleHistos::ResXprimeHisto, TrackerOfflineValidation::ModuleHistos::ResYprimeHisto, stripYResiduals_, summaryBins_, TrackerOfflineValidation::SummaryContainer::summaryNormXResiduals_, TrackerOfflineValidation::SummaryContainer::summaryNormYResiduals_, TrackerOfflineValidation::SummaryContainer::summaryXResiduals_, and TrackerOfflineValidation::SummaryContainer::summaryYResiduals_.
◆ alignableTracker_
◆ avalidator_
◆ bareTkGeomPtr_
◆ chargeCut_
const int TrackerOfflineValidation::chargeCut_ |
|
private |
◆ compressionSettings_
const int TrackerOfflineValidation::compressionSettings_ |
|
private |
◆ dqmMode_
const bool TrackerOfflineValidation::dqmMode_ |
|
private |
◆ geomToken_
◆ lCoorHistOn_
const bool TrackerOfflineValidation::lCoorHistOn_ |
|
private |
◆ maxTracks_
const unsigned long long TrackerOfflineValidation::maxTracks_ |
|
private |
◆ moduleDirectory_
const std::string TrackerOfflineValidation::moduleDirectory_ |
|
private |
◆ moduleLevelHistsTransient_
const bool TrackerOfflineValidation::moduleLevelHistsTransient_ |
|
private |
◆ moduleLevelProfiles_
const bool TrackerOfflineValidation::moduleLevelProfiles_ |
|
private |
◆ mPxbResiduals_
◆ mPxeResiduals_
◆ mTecResiduals_
◆ mTibResiduals_
◆ mTidResiduals_
◆ mTobResiduals_
◆ mTreeMembers_
◆ nTracks_
unsigned long long TrackerOfflineValidation::nTracks_ |
|
private |
◆ parSet_
◆ stripYResiduals_
const bool TrackerOfflineValidation::stripYResiduals_ |
|
private |
◆ sumHistStructure_
std::vector<std::pair<TH1*, TH1*> > TrackerOfflineValidation::sumHistStructure_ |
|
private |
◆ summaryBins_
std::vector<std::tuple<int, TH1*, TH1*> > TrackerOfflineValidation::summaryBins_ |
|
private |
◆ tkGeom_
◆ toFit_
std::vector<TH1*> TrackerOfflineValidation::toFit_ |
|
private |
◆ topoToken_
◆ useFit_
const bool TrackerOfflineValidation::useFit_ |
|
private |
◆ useFwhm_
const bool TrackerOfflineValidation::useFwhm_ |
|
private |
◆ useOverflowForRMS_
const bool TrackerOfflineValidation::useOverflowForRMS_ |
|
private |
◆ vDeleteObjects_
std::vector<TH1*> TrackerOfflineValidation::vDeleteObjects_ |
|
private |
◆ vTrack2DHistos_
std::vector<TH1*> TrackerOfflineValidation::vTrack2DHistos_ |
|
private |
◆ vTrackHistos_
std::vector<TH1*> TrackerOfflineValidation::vTrackHistos_ |
|
private |
◆ vTrackProfiles_
std::vector<TH1*> TrackerOfflineValidation::vTrackProfiles_ |
|
private |
const Surface::PositionType & position() const
The position (origin of the R.F.)
const TrackerGeomDet * idToDet(DetId) const override
bool tobIsDoubleSide(const DetId &id) const
T const * product() const
void setSummaryBin(int bin, TH1 *targetHist, TH1 *sourceHist)
bool isBarrel(uint32_t subDetId)
std::map< int, TrackerOfflineValidation::ModuleHistos > mTibResiduals_
std::map< int, TrackerOfflineValidation::ModuleHistos > mPxeResiduals_
std::vector< TH1 * > vDeleteObjects_
void summarizeBinInContainer(int bin, SummaryContainer &targetContainer, SummaryContainer &sourceContainer)
std::map< int, TrackerOfflineValidation::ModuleHistos > mPxbResiduals_
unsigned int pxfSide(const DetId &id) const
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
std::map< int, TkOffTreeVariables > mTreeMembers_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const bool stripYResiduals_
bool tecIsDoubleSide(const DetId &id) const
constexpr Detector det() const
get the detector field from this detid
TFile & file() const
return opened TFile
void bookDirHists(DirectoryWrapper &tfd, const Alignable &ali, const TrackerTopology *tTopo)
bool tidIsDoubleSide(const DetId &id) const
unsigned int pxbLadder(const DetId &id) const
void fillTrackQuantities(const edm::Event &, const edm::EventSetup &, std::vector< AVTrackStruct > &v_avtrackout)
void bookHists(DirectoryWrapper &tfd, const Alignable &ali, const TrackerTopology *tTopo, align::StructureType type, int i)
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
int GetIndex(const std::vector< OBJECT_TYPE * > &vec, const TString &name)
TProfile * bookTProfile(bool isTransient, DirectoryWrapper &tfd, const char *histName, const char *histTitle, int nBinsX, double lowX, double highX)
ModuleHistos & getHistStructFromMap(const DetId &detid)
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
const unsigned long long maxTracks_
void getBinning(uint32_t subDetId, TrackerOfflineValidation::HistogramType residualtype, int &nBinsX, double &lowerBoundX, double &upperBoundX)
Log< level::Warning, false > LogWarning
std::map< int, TrackerOfflineValidation::ModuleHistos > mTobResiduals_
std::string histNameLocalX
unsigned int tidRing(const DetId &id) const
const int compressionSettings_
TrackerOfflineValidation::SummaryContainer bookSummaryHists(DirectoryWrapper &tfd, const Alignable &ali, align::StructureType type, int i)
uint32_t tobStereo(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
std::unique_ptr< AlignableTracker > alignableTracker_
unsigned int pxbLayer(const DetId &id) const
Float_t numberOfOverflows
unsigned int pxfPanel(const DetId &id) const
virtual void checkBookHists(const edm::EventSetup &setup)
std::vector< unsigned int > tobRodInfo(const DetId &id) const
const Plane & surface() const
The nominal surface of the GeomDet.
unsigned long long nTracks_
std::vector< unsigned int > tibStringInfo(const DetId &id) const
TH1 * bookTH1F(bool isTransient, DirectoryWrapper &tfd, const char *histName, const char *histTitle, int nBinsX, double lowX, double highX)
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
const TrackerGeometry * bareTkGeomPtr_
std::string profileNameResXvsY
std::string profileNameResYvsX
bool isPixel(uint32_t subDetId)
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
std::vector< TH1 * > vTrack2DHistos_
const std::string moduleDirectory_
Float_t numberOfUnderflows
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
std::map< int, TrackerOfflineValidation::ModuleHistos > mTecResiduals_
static constexpr auto TIB
std::vector< std::tuple< int, TH1 *, TH1 * > > summaryBins_
std::vector< TH1 * > toFit_
std::string histNameNormY
void fillTree(TTree &tree, TkOffTreeVariables &treeMem, const std::map< int, TrackerOfflineValidation::ModuleHistos > &moduleHist_)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
std::pair< int, int > typeAndLayerFromDetId(const DetId &detId, const TrackerTopology *tTopo) const
uint32_t tibStereo(const DetId &id) const
float Fwhm(const TH1 *hist) const
std::string profileNameResXvsX
TrackerValidationVariables avalidator_
std::vector< std::pair< TH1 *, TH1 * > > sumHistStructure_
edm::ESHandle< TrackerGeometry > tkGeom_
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
Tan< T >::type tan(const T &t)
uint32_t tidStereo(const DetId &id) const
unsigned int tibModule(const DetId &id) const
unsigned int tidSide(const DetId &id) const
bool isDetOrDetUnit(align::StructureType type)
unsigned int tecRing(const DetId &id) const
ring id
unsigned int pxfModule(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
Log< level::Error, false > LogError
moduleLevelHistsTransient
void collateSummaryHists()
std::string profileNameResYvsY
void bookGlobalHists(DirectoryWrapper &tfd)
unsigned int tobLayer(const DetId &id) const
constexpr uint32_t rawId() const
get the raw id
static constexpr auto TEC
unsigned int tobModule(const DetId &id) const
unsigned int pxbModule(const DetId &id) const
bool tibIsDoubleSide(const DetId &id) const
void setUpTreeMembers(const std::map< int, TrackerOfflineValidation::ModuleHistos > &moduleHist_, const TrackerGeometry &tkgeom, const TrackerTopology *tTopo)
static const std::string kSharedResource
const edm::ParameterSet parSet_
constexpr unsigned int subDetId[21]
static constexpr auto TOB
void prepareSummaryHists(DirectoryWrapper &tfd, const Alignable &ali, std::vector< TrackerOfflineValidation::SummaryContainer > &vLevelProfiles)
float getMedian(const TH1 *hist) const
T getParameter(std::string const &) const
std::vector< TH1 * > vTrackProfiles_
const DetIdContainer & detIds() const override
Returm a vector of all GeomDet DetIds (including those of GeomDetUnits)
unsigned int tecModule(const DetId &id) const
std::string histNameNormX
std::string histNameNormLocalX
std::vector< TH1 * > vTrackHistos_
unsigned int pxfBlade(const DetId &id) const
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
const bool useOverflowForRMS_
const bool moduleLevelHistsTransient_
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
virtual const Alignables & components() const =0
Return vector of all direct components.
unsigned int tecWheel(const DetId &id) const
std::map< int, TrackerOfflineValidation::ModuleHistos > mTidResiduals_
Geom::Phi< T > phi() const
static constexpr auto TID
T * make(const Args &... args) const
make new ROOT object
const bool moduleLevelProfiles_
uint32_t tecStereo(const DetId &id) const
std::string histNameLocalY
unsigned int tibLayer(const DetId &id) const
container to hold data to be written into TTree
unsigned int tecSide(const DetId &id) const
std::pair< float, float > fitResiduals(TH1 *hist) const
bool isEndCap(uint32_t subDetId)