File indexing completed on 2024-04-06 12:19:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef L1MU_GMT_DUMP_H
0014 #define L1MU_GMT_DUMP_H
0015
0016
0017
0018
0019
0020 #include <memory>
0021 #include <string>
0022
0023
0024
0025
0026 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0027
0028 #include "FWCore/Framework/interface/Frameworkfwd.h"
0029 #include "FWCore/Framework/interface/MakerMacros.h"
0030 #include "FWCore/Framework/interface/Event.h"
0031 #include "DataFormats/Common/interface/Handle.h"
0032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0033
0034
0035
0036
0037
0038 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuRegionalCand.h"
0039 #include "DataFormats/L1GlobalMuonTrigger/interface/L1MuGMTReadoutCollection.h"
0040 #include "FWCore/Utilities/interface/InputTag.h"
0041
0042 class TFile;
0043 class TTree;
0044
0045
0046
0047
0048
0049 const int MAXGEN = 20;
0050 const int MAXRPC = 12;
0051 const int MAXDTBX = 12;
0052 const int MAXCSC = 12;
0053 const int MAXGMT = 12;
0054 const int MAXGT = 12;
0055
0056 class L1MuGMTTree : public edm::one::EDAnalyzer<> {
0057 public:
0058
0059 explicit L1MuGMTTree(const edm::ParameterSet&);
0060 ~L1MuGMTTree() override;
0061
0062
0063 void analyze(const edm::Event&, const edm::EventSetup&) override;
0064 void book();
0065
0066 void beginJob() override;
0067 void endJob() override;
0068
0069 private:
0070
0071 int runn;
0072 int eventn;
0073 int lumi;
0074 int bx;
0075 uint64_t orbitn;
0076 uint64_t timest;
0077
0078
0079 float weight;
0080 float pthat;
0081
0082
0083 int ngen;
0084 float pxgen[MAXGEN];
0085 float pygen[MAXGEN];
0086 float pzgen[MAXGEN];
0087 float ptgen[MAXGEN];
0088 float etagen[MAXGEN];
0089 float phigen[MAXGEN];
0090 int chagen[MAXGEN];
0091 float vxgen[MAXGEN];
0092 float vygen[MAXGEN];
0093 float vzgen[MAXGEN];
0094 int pargen[MAXGEN];
0095
0096
0097 int bxgmt;
0098
0099
0100 int ndt;
0101 int bxd[MAXDTBX];
0102 float ptd[MAXDTBX];
0103 int chad[MAXDTBX];
0104 float etad[MAXDTBX];
0105 int etafined[MAXDTBX];
0106 float phid[MAXDTBX];
0107 int quald[MAXDTBX];
0108 int dwd[MAXDTBX];
0109 int chd[MAXDTBX];
0110
0111
0112 int ncsc;
0113 int bxc[MAXCSC];
0114 float ptc[MAXCSC];
0115 int chac[MAXCSC];
0116 float etac[MAXCSC];
0117 float phic[MAXCSC];
0118 int qualc[MAXCSC];
0119 int dwc[MAXCSC];
0120
0121
0122 int nrpcb;
0123 int bxrb[MAXRPC];
0124 float ptrb[MAXRPC];
0125 int charb[MAXRPC];
0126 float etarb[MAXRPC];
0127 float phirb[MAXRPC];
0128 int qualrb[MAXRPC];
0129 int dwrb[MAXRPC];
0130
0131
0132 int nrpcf;
0133 int bxrf[MAXRPC];
0134 float ptrf[MAXRPC];
0135 int charf[MAXRPC];
0136 float etarf[MAXRPC];
0137 float phirf[MAXRPC];
0138 int qualrf[MAXRPC];
0139 int dwrf[MAXRPC];
0140
0141
0142 int ngmt;
0143 int bxg[MAXGMT];
0144 float ptg[MAXGMT];
0145 int chag[MAXGMT];
0146 float etag[MAXGMT];
0147 float phig[MAXGMT];
0148 int qualg[MAXGMT];
0149 int detg[MAXGMT];
0150 int rankg[MAXGMT];
0151 int isolg[MAXGMT];
0152 int mipg[MAXGMT];
0153 int dwg[MAXGMT];
0154 int idxRPCb[MAXGMT];
0155 int idxRPCf[MAXGMT];
0156 int idxDTBX[MAXGMT];
0157 int idxCSC[MAXGMT];
0158
0159
0160 uint64_t gttw1[3];
0161 uint64_t gttw2[3];
0162 uint64_t gttt[3];
0163
0164
0165 int nele;
0166 int bxel[MAXGT];
0167 float rankel[MAXGT];
0168 float phiel[MAXGT];
0169 float etael[MAXGT];
0170
0171 int njet;
0172 int bxjet[MAXGT];
0173 float rankjet[MAXGT];
0174 float phijet[MAXGT];
0175 float etajet[MAXGT];
0176
0177 TFile* m_file;
0178 TTree* m_tree;
0179
0180 edm::InputTag m_GMTInputTag;
0181 edm::InputTag m_GTEvmInputTag;
0182 edm::InputTag m_GTInputTag;
0183 edm::InputTag m_GeneratorInputTag;
0184 edm::InputTag m_SimulationInputTag;
0185
0186 bool m_PhysVal;
0187
0188 std::string m_outfilename;
0189 };
0190
0191 #endif