EcalMatacqHist

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
// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: t; tab-width: 8; -*-

/**
 *
 * Test module for matacq data producing some histograms.
 *
 * Parameters:
 * <UL> outputRootFile: untracked string, name of the root file to create for
 * the histograms
 * <LI> nTimePlots: untracked int, number of events whose laser pulse is to
 * be plotted.
 * <LI> firstTimePlotEvent: untracked int, first event for laser pulse time
 * plot starting at 1.
 * </UL>
 */

#include <FWCore/Framework/interface/one/EDAnalyzer.h>
#include <FWCore/Framework/interface/Event.h>
#include <FWCore/Framework/interface/MakerMacros.h>

#include <TFile.h>
#include <memory>

class TProfile;
class TH1D;

class EcalMatacqHist : public edm::one::EDAnalyzer<> {
public:
  EcalMatacqHist(const edm::ParameterSet& ps);

  virtual ~EcalMatacqHist();

protected:
  void analyze(const edm::Event& e, const edm::EventSetup& c);

private:
  std::string outFileName;
  int nTimePlots;
  int firstTimePlotEvent;
  int iEvent;
  double hTTrigMin;
  double hTTrigMax;
  std::unique_ptr<TFile> outFile;
  std::vector<TProfile> profiles;
  //profile->MATACQ CH ID map
  std::vector<int> profChId;
  TH1D* hTTrig;
};