76 std::vector<std::string>
dirs;
81 lastPos =
dir.find_first_not_of(
'/',
pos);
82 pos =
dir.find_first_of(
'/', lastPos);
85 while (std::string::npos !=
pos || std::string::npos != lastPos) {
86 dirs.push_back(
dir.substr(lastPos,
pos - lastPos));
87 lastPos =
dir.find_first_not_of(
'/',
pos);
88 pos =
dir.find_first_of(
'/', lastPos);
97 std::vector<std::string> partial;
99 for (
unsigned int i = 0;
i <
dirs.size();
i++) {
100 partial.push_back(
dirs[
i]);
101 if (theMap->find(partial) == theMap->end()) {
104 last = (*theMap)[partial];
AlignmentParameterStore * pStore()
std::map< std::vector< std::string >, TFileDirectory * > m_baseDirMap
std::map< std::vector< std::string >, TFileDirectory * > m_iterDirMap
AlignmentMonitorBase(const edm::ParameterSet &cfg, const edm::ConsumesCollector &iC, std::string name)
Constructor.
virtual void event(const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &iTrajTracks)
Called for each event (by "run()"): may be reimplemented.
TH2F * book2D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
AlignmentParameterStore * mp_store
AlignableTracker * pTracker()
TProfile * bookProfile(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX, int nchY=1, double lowY=0., double highY=0., const char *option="s")
T * make(const Args &...args) const
make new ROOT object
TFileDirectory * directory(std::string dir)
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection
TH1F * book1D(std::string dir, std::string name, std::string title, int nchX, double lowX, double highX)
AlignableTracker * mp_tracker
void beginOfJob(AlignableTracker *pTracker, AlignableMuon *pMuon, AlignmentParameterStore *pStore)
Called at beginning of job: don't reimplement.
virtual void afterAlignment()
AlignableNavigator * mp_navigator
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
void startingNewLoop()
Called at beginning of loop: don't reimplement.
void duringLoop(const edm::Event &iEvent, const edm::EventSetup &iSetup, const ConstTrajTrackPairCollection &iTrajTracks)
Called for each event: don't reimplement.
virtual void book()=0
Book or retrieve histograms; MUST be reimplemented.
Constructor of the full muon geometry.
void endOfLoop()
Called at end of loop: don't reimplement.