Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consolidate CalibTracker/SiStripQuality #37120

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11,064 changes: 0 additions & 11,064 deletions CalibTracker/SiStripQuality/data/DefectsFromConstructionDB.dat

This file was deleted.

9 changes: 0 additions & 9 deletions CalibTracker/SiStripQuality/plugins/SealModules.cc

This file was deleted.

23 changes: 0 additions & 23 deletions CalibTracker/SiStripQuality/plugins/SiStripBadStripFromASCIIFile.h

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,21 +1,76 @@
#include "CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.h"
// system includes
#include <fstream>
#include <iostream>
#include <memory>
#include <sstream>
#include <vector>

// user includes
#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h"

#include "CalibTracker/Records/interface/SiStripQualityRcd.h"
#include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h"
#include "CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h"
#include "CalibTracker/SiStripQuality/interface/SiStripQualityHistos.h"
#include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h"
#include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h"
#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
#include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
#include <fstream>
#include <iostream>
#include <memory>
#include <sstream>
#include "FWCore/Framework/interface/ESWatcher.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/FileInPath.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "Geometry/Records/interface/TrackerTopologyRcd.h"

//Insert here the include to the algos
#include "CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h"
#include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h"
class TrackerTopology;

class SiStripQualityHotStripIdentifier : public ConditionDBWriter<SiStripBadStrip> {
public:
explicit SiStripQualityHotStripIdentifier(const edm::ParameterSet&);
~SiStripQualityHotStripIdentifier() override = default;

private:
//Will be called at the beginning of the job
void algoBeginJob(const edm::EventSetup&) override {}
//Will be called at the beginning of each run in the job
void algoBeginRun(const edm::Run&, const edm::EventSetup&) override;
//Will be called at the beginning of each luminosity block in the run
void algoBeginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override { resetHistos(); }
//Will be called at the end of the job
void algoEndJob() override;

//Will be called at every event
void algoAnalyze(const edm::Event&, const edm::EventSetup&) override;

std::unique_ptr<SiStripBadStrip> getNewObject() override;

void bookHistos();
void resetHistos();
void fillHisto(uint32_t detid, float value);

private:
const std::string dataLabel_;
const SiStripQuality* stripQuality_ = nullptr;
const edm::ParameterSet conf_;
const edm::FileInPath fp_;
const edm::InputTag Cluster_src_;
const edm::InputTag Track_src_;
const bool tracksCollection_in_EventTree;
const TrackerTopology* tTopo = nullptr;

unsigned short MinClusterWidth_, MaxClusterWidth_;

SiStrip::QualityHistosMap ClusterPositionHistoMap;

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
const edm::ESGetToken<SiStripQuality, SiStripQualityRcd> stripQualityToken_;
edm::ESWatcher<SiStripQualityRcd> stripQualityWatcher_;
};

SiStripQualityHotStripIdentifier::SiStripQualityHotStripIdentifier(const edm::ParameterSet& iConfig)
: ConditionDBWriter<SiStripBadStrip>(iConfig),
Expand All @@ -35,8 +90,6 @@ SiStripQualityHotStripIdentifier::SiStripQualityHotStripIdentifier(const edm::Pa
bookHistos();
}

SiStripQualityHotStripIdentifier::~SiStripQualityHotStripIdentifier() {}

std::unique_ptr<SiStripBadStrip> SiStripQualityHotStripIdentifier::getNewObject() {
auto obj = std::make_unique<SiStripBadStrip>();

Expand Down Expand Up @@ -203,3 +256,6 @@ void SiStripQualityHotStripIdentifier::algoAnalyze(const edm::Event& e, const ed
}
LogTrace("SiStripQualityHotStripIdentifier") << ss.str();
}

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SiStripQualityHotStripIdentifier);

This file was deleted.

57 changes: 52 additions & 5 deletions CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,59 @@
//
//

#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
// system include files
#include <memory>

// user include files
#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h"
#include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h"
#include "CalibTracker/SiStripQuality/interface/SiStripQualityWithFromFedErrorsHelper.h"
#include "CommonTools/TrackerMap/interface/TrackerMap.h"
#include "DQM/SiStripCommon/interface/TkHistoMap.h"
#include "DQMServices/Core/interface/DQMEDHarvester.h"
#include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
#include "DQM/SiStripCommon/interface/TkHistoMap.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "Geometry/Records/interface/TrackerTopologyRcd.h"

class SiStripFedCabling;

class SiStripQualityStatistics : public DQMEDHarvester {
public:
explicit SiStripQualityStatistics(const edm::ParameterSet&);
~SiStripQualityStatistics() override = default;

void endRun(edm::Run const&, edm::EventSetup const&) override;
void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override;

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
void updateAndSave(const SiStripQuality* siStripQuality);
void SetBadComponents(int, int, SiStripQuality::BadComponent&);

edm::RunID run_;
std::string dataLabel_;
const std::string TkMapFileName_;
const bool saveTkHistoMap_;
//Global Info
int NTkBadComponent[4]; //k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips
int NBadComponent[4][19][4];
//legend: NBadComponent[i][j][k]= SubSystem i, layer/disk/wheel j, BadModule/Fiber/Apv k
// i: 0=TIB, 1=TID, 2=TOB, 3=TEC
// k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips
std::stringstream ssV[4][19];

TrackerMap *tkMap, *tkMapFullIOVs;
SiStripDetInfo detInfo_;
std::unique_ptr<TkHistoMap> tkhisto;
const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
const edm::ESGetToken<TkDetMap, TrackerTopologyRcd> tkDetMapToken_;
std::unique_ptr<TrackerTopology> tTopo_;
SiStripQualityWithFromFedErrorsHelper withFedErrHelper_;
};

SiStripQualityStatistics::SiStripQualityStatistics(const edm::ParameterSet& iConfig)
: TkMapFileName_(iConfig.getUntrackedParameter<std::string>("TkMapFileName", "")),
Expand Down Expand Up @@ -121,7 +165,7 @@ void SiStripQualityStatistics::updateAndSave(const SiStripQuality* siStripQualit
((BC[i].BadApvs >> 2) & 0x1) + ((BC[i].BadApvs >> 1) & 0x1) + ((BC[i].BadApvs) & 0x1);

//&&&&&&&&&&&&&&&&&
//Single SubSyste
//Single SubSystem
//&&&&&&&&&&&&&&&&&
int component;
DetId detectorId = DetId(BC[i].detid);
Expand Down Expand Up @@ -325,3 +369,6 @@ void SiStripQualityStatistics::SetBadComponents(int i, int component, SiStripQua
tkMap->fillc(BC.detid, 0x0);
}
}

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(SiStripQualityStatistics);
52 changes: 0 additions & 52 deletions CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h

This file was deleted.

12 changes: 11 additions & 1 deletion CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "CondCore/DBOutputService/interface/PoolDBOutputService.h"

Expand Down Expand Up @@ -185,6 +185,16 @@ class ConditionDBWriter : public edm::one::EDAnalyzer<edm::one::WatchRuns, edm::

~ConditionDBWriter() override { edm::LogInfo("ConditionDBWriter::~ConditionDBWriter()") << std::endl; }

// utility method to validate configurations of inherited classes
static void fillPSetDescription(edm::ParameterSetDescription &desc) {
desc.add<bool>("SinceAppendMode");
desc.add<std::string>("IOVMode");
desc.add<std::string>("Record");
desc.add<bool>("doStoreOnDB");
desc.addUntracked<bool>("TimeFromEndRun", false);
desc.addUntracked<bool>("TimeFromStartOfRunRange", false);
}

private:
// method to be implemented by derived class. Must return a pointer to the DB object to be stored, which must have been created with "new". The derived class looses control on it (must not "delete" it at any time in its code!)

Expand Down
Loading