/** HadMuMonModule
 *
 * A module to be used with a CDFMonitoringModule.
 *
 * Plot various Had and Muon Monitor Quantities
 *
 * 
 */

#ifndef HADMUMONMODULE_H
#define HADMUMONMODULE_H

#include "BeamMonBaseModule.h"
#include "StripHist.h"

class MomNavigator;
class RawBeamMonBlock;
class StripHist;

#include <map>
#include <string>
#include <TMultiGraph.h>

class HadMuMonModule : public BeamMonBaseModule {
  std::map<std::string,StripHist*> fStripHist;
  std::map<std::string,TH2F*>      fTH2F;
  std::map<std::string,TH1F*>      fTH1F;
public:
    HadMuMonModule();
    virtual ~HadMuMonModule();

    virtual void BeginJob();

private:
    void Fill(const RawBeamMonHeaderBlock& header, const RawBeamMonBlock& block);
    void RangeFinder(StripHist *sh1, StripHist *sh2, StripHist *sh3, double &min, double &max);
    void RangeFinder(StripHist *sh1, StripHist *sh2, double &min, double &max);
    const MomNavigator *mom;

    //ClassDef(HadMuMonModule,1)
};

#endif  // HADMUMONMODULE_H
