Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:11:28

0001 
0002 //-------------------------------------------------
0003 //
0004 //   \class L1MuGMTDump
0005 /**
0006  *   Description:  Dump GMT readout
0007 */
0008 //
0009 //
0010 //   I. Mikulec            HEPHY Vienna
0011 //
0012 //--------------------------------------------------
0013 #ifndef L1MU_GMT_DUMP_H
0014 #define L1MU_GMT_DUMP_H
0015 
0016 //---------------
0017 // C++ Headers --
0018 //---------------
0019 
0020 #include <memory>
0021 
0022 //----------------------
0023 // Base Class Headers --
0024 //----------------------
0025 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0026 
0027 #include "FWCore/Framework/interface/Frameworkfwd.h"
0028 #include "FWCore/Framework/interface/MakerMacros.h"
0029 #include "FWCore/Framework/interface/Event.h"
0030 #include "DataFormats/Common/interface/Handle.h"
0031 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0032 
0033 //------------------------------------
0034 // Collaborating Class Declarations --
0035 //------------------------------------
0036 
0037 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0038 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
0039 #include "FWCore/Utilities/interface/InputTag.h"
0040 
0041 //              ---------------------
0042 //              -- Class Interface --
0043 //              ---------------------
0044 
0045 const int MAXGEN = 10;
0046 const int MAXRPC = 20;
0047 const int MAXDTBX = 20;
0048 const int MAXCSC = 20;
0049 const int MAXGMT = 20;
0050 
0051 class L1MuGMTDump : public edm::one::EDAnalyzer<> {
0052 private:
0053   edm::InputTag m_inputTag;
0054 
0055 public:
0056   // constructor
0057   explicit L1MuGMTDump(const edm::ParameterSet&);
0058 
0059   // fill tree
0060   void analyze(const edm::Event&, const edm::EventSetup&) override;
0061 
0062   void endJob() override;
0063 
0064 public:
0065   //GENERAL block
0066   int runn;
0067   int eventn;
0068   float weight;
0069 
0070   //generator block
0071   int ngen;
0072   float pxgen[MAXGEN];
0073   float pygen[MAXGEN];
0074   float pzgen[MAXGEN];
0075   float ptgen[MAXGEN];
0076   float etagen[MAXGEN];
0077   float phigen[MAXGEN];
0078   int chagen[MAXGEN];
0079   float vxgen[MAXGEN];
0080   float vygen[MAXGEN];
0081   float vzgen[MAXGEN];
0082 
0083   //DTBX Trigger block
0084   int ndt;
0085   int bxd[MAXDTBX];
0086   float ptd[MAXDTBX];
0087   int chad[MAXDTBX];
0088   float etad[MAXDTBX];
0089   int etafined[MAXDTBX];
0090   float phid[MAXDTBX];
0091   int quald[MAXDTBX];
0092   int tclassd[MAXDTBX];
0093   int ntsd[MAXDTBX];
0094 
0095   //CSC Trigger block
0096   int ncsc;
0097   int bxc[MAXCSC];
0098   float ptc[MAXCSC];
0099   int chac[MAXCSC];
0100   float etac[MAXCSC];
0101   float phic[MAXCSC];
0102   int qualc[MAXCSC];
0103   int ntsc[MAXCSC];
0104   int rankc[MAXCSC];
0105 
0106   //RPCb Trigger
0107   int nrpcb;
0108   int bxrb[MAXRPC];
0109   float ptrb[MAXRPC];
0110   int charb[MAXRPC];
0111   float etarb[MAXRPC];
0112   float phirb[MAXRPC];
0113   int qualrb[MAXRPC];
0114 
0115   //RPCf Trigger
0116   int nrpcf;
0117   int bxrf[MAXRPC];
0118   float ptrf[MAXRPC];
0119   int charf[MAXRPC];
0120   float etarf[MAXRPC];
0121   float phirf[MAXRPC];
0122   int qualrf[MAXRPC];
0123 
0124   //Global Muon Trigger
0125   int ngmt;
0126   int bxg[MAXGMT];
0127   float ptg[MAXGMT];
0128   int chag[MAXGMT];
0129   float etag[MAXGMT];
0130   float phig[MAXGMT];
0131   int qualg[MAXGMT];
0132   int detg[MAXGMT];
0133   int rankg[MAXGMT];
0134   int isolg[MAXGMT];
0135   int mipg[MAXGMT];
0136   int datawordg[MAXGMT];
0137   int idxRPCb[MAXGMT];
0138   int idxRPCf[MAXGMT];
0139   int idxDTBX[MAXGMT];
0140   int idxCSC[MAXGMT];
0141 };
0142 
0143 #endif