41 : m_iteration(0), mp_tracker(0), mp_muon(0), mp_store(0) {
88 event(iEvent, iSetup, iTrajTracks);
101 std::vector<std::string> dirs;
104 if (dir.substr(lastPos, pos - lastPos) == std::string(
"iterN")) {
106 lastPos = dir.find_first_not_of(
"/", pos);
107 pos = dir.find_first_of(
"/", lastPos);
110 while (std::string::npos != pos || std::string::npos != lastPos) {
111 dirs.push_back(dir.substr(lastPos, pos - lastPos));
112 lastPos = dir.find_first_not_of(
"/", pos);
113 pos = dir.find_first_of(
"/", lastPos);
120 std::vector<std::string> partial;
122 for (
unsigned int i = 0;
i < dirs.size();
i++) {
123 partial.push_back(dirs[
i]);
124 if (theMap->find(partial) == theMap->end()) {
127 last = (*theMap)[partial];
133 return directory(dir)->
make<TH1F>(name.c_str(), title.c_str(), nchX, lowX, highX);
138 return directory(dir)->
make<TProfile>(name.c_str(), title.c_str(), nchX, lowX, highX, option);
141 return directory(dir)->
make<TProfile>(name.c_str(), title.c_str(), nchX, lowX, highX, lowY, highY, option);
146 return directory(dir)->
make<TH2F>(name.c_str(), title.c_str(), nchX, lowX, highX, nchY, lowY, highY);
AlignmentParameterStore * pStore()
std::map< std::vector< std::string >, TFileDirectory * > m_baseDirMap
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)
std::map< std::vector< std::string >, TFileDirectory * > m_iterDirMap
AlignmentParameterStore * mp_store
AlignmentMonitorBase(const edm::ParameterSet &cfg, std::string name)
Constructor.
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")
TFileDirectory * directory(std::string dir)
void endOfJob()
Called at end of processing: don't implement.
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.
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.
T * make() const
make new ROOT object
void endOfLoop(const edm::EventSetup &iSetup)
Called at end 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 afterAlignment(const edm::EventSetup &iSetup)
virtual void book()=0
Book or retrieve histograms; MUST be reimplemented.
Constructor of the full muon geometry.