HLTMCtruth

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
#ifndef HLTMCTRUTH_H
#define HLTMCTRUTH_H

#include <map>
#include <vector>

#include <TChain.h>
#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TNamed.h>
#include <TROOT.h>

#include "DataFormats/Candidate/interface/Candidate.h"
#include "DataFormats/METReco/interface/CaloMETCollection.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
#include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h"
#include "SimDataFormats/Track/interface/SimTrack.h"
#include "SimDataFormats/Vertex/interface/SimVertex.h"

typedef std::vector<std::string> MyStrings;

/** \class HLTMCtruth
  *  
  * $Date: November 2006
  * $Revision: 
  * \author P. Bargassa - Rice U.
  */
class HLTMCtruth {
public:
  HLTMCtruth();

  void setup(const edm::ParameterSet& pSet, TTree* tree);

  /** Analyze the Data */
  void analyze(const edm::Handle<reco::CandidateView>& mctruth,
               const double& pthat,
               const double& weight,
               const edm::Handle<std::vector<SimTrack> >& simTracks,
               const edm::Handle<std::vector<SimVertex> >& simVertices,
               const edm::Handle<std::vector<PileupSummaryInfo> >& PupInfo,
               TTree* tree);

private:
  // Tree variables
  float *mcvx, *mcvy, *mcvz, *mcpt, *mceta, *mcphi;
  int *mcpid, *mcstatus;
  int nmcpart, nmu3, nel3, nab, nbb, nwenu, nwmunu, nzee, nzmumu;
  int npubx0, npuvertbx0;
  float pthatf, weightf, weightsignf;
  float ptEleMax, ptMuMax;
  // input variables
  bool _Monte, _Debug, _Gen;
};

#endif