MuonTrackResidualsTest

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#ifndef MuonTrackResidualsTest_H
#define MuonTrackResidualsTest_H

/** \class MuonTrackResidualsTest
 * *
 *  DQMOffline Test Client
 *       check the residuals of the track parameters comparing STA/tracker only/global muons
 *
 *  \author  G. Mila - INFN Torino
 *   
 */

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "DataFormats/Common/interface/Handle.h"
#include <FWCore/Framework/interface/ESHandle.h>
#include <FWCore/Framework/interface/Event.h>
#include <FWCore/Framework/interface/MakerMacros.h>
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include <FWCore/Framework/interface/LuminosityBlock.h>

#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/DQMEDHarvester.h"

#include "FWCore/ServiceRegistry/interface/Service.h"
#include "FWCore/Framework/interface/Run.h"

#include <memory>
#include <iostream>
#include <string>
#include <vector>
#include <map>

class MuonTrackResidualsTest : public DQMEDHarvester {
public:
  /// Constructor
  MuonTrackResidualsTest(const edm::ParameterSet& ps);

  /// Destructor
  ~MuonTrackResidualsTest() override {}

protected:
  void dqmEndRun(DQMStore::IBooker&, DQMStore::IGetter&, edm::Run const&, edm::EventSetup const&) override;
  void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override {}

private:
  // Switch for verbosity
  std::string metname;
  edm::ParameterSet parameters;

  // source residuals histograms
  int prescaleFactor;
  std::string GaussianCriterionName;
  std::string MeanCriterionName;
  std::string SigmaCriterionName;

  std::map<std::string, std::vector<std::string> > histoNames;

  // test histograms
  std::map<std::string, MonitorElement*> MeanHistos;
  std::map<std::string, MonitorElement*> SigmaHistos;
};

#endif