Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:22:02

0001 //-------------------------------------------------
0002 //
0003 /**  \class DTTrigTest
0004  *
0005  *   EDAnalyzer that generates a rootfile useful
0006  *   for L1-DTTrigger debugging and performance 
0007  *   studies
0008  *
0009  *
0010  *
0011  *   \author C. Battilana
0012  */
0013 //
0014 //--------------------------------------------------
0015 
0016 #ifndef L1Trigger_DTTrigger_DTTrigTest_h
0017 #define L1Trigger_DTTrigger_DTTrigTest_h
0018 
0019 // Framework related headers
0020 #include "FWCore/Framework/interface/EDAnalyzer.h"
0021 #include "FWCore/Framework/interface/ESHandle.h"
0022 #include "FWCore/Framework/interface/Event.h"
0023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0024 
0025 // Trigger related headers
0026 #include "L1Trigger/DTTrigger/interface/DTTrig.h"
0027 
0028 // Root headers
0029 #include "TTree.h"
0030 #include "TFile.h"
0031 
0032 class DTTrigTest : public edm::EDAnalyzer {
0033 public:
0034   //! Constructor
0035   DTTrigTest(const edm::ParameterSet& pset);
0036 
0037   //! Destructor
0038   ~DTTrigTest() override;
0039 
0040   //! Create tree and Branches
0041   //void beginJob(const edm::EventSetup & iEventSetup);
0042   void beginJob() override;
0043 
0044   //! Close Tree and write File
0045   void endJob() override;
0046 
0047   //! Create DTTrig instance and TUs
0048   void beginRun(const edm::Run& iRun, const edm::EventSetup& iEventSetup) override;
0049 
0050   //! Analyze function executed on all the events
0051   void analyze(const edm::Event& iEvent, const edm::EventSetup& iEventSetup) override;
0052 
0053 private:
0054   // time to TDC_time conversion
0055   static const double my_TtoTDC;
0056 
0057   // trigger istance
0058   DTTrig* my_trig;
0059 
0060   // debug flag
0061   bool my_debug;
0062 
0063   // ParameterSet
0064   edm::ParameterSet my_params;
0065 
0066   // tree
0067   TTree* my_tree;
0068   // TFile
0069   TFile* my_rootfile;
0070 
0071   //GENERAL block
0072   int runn;
0073   int eventn;
0074   float weight;
0075 
0076   //GEANT block
0077   int ngen;
0078   float pxgen[10];
0079   float pygen[10];
0080   float pzgen[10];
0081   float ptgen[10];
0082   float etagen[10];
0083   float phigen[10];
0084   int chagen[10];
0085   float vxgen[10];
0086   float vygen[10];
0087   float vzgen[10];
0088 
0089   // BTI
0090   int nbti;
0091   int bwh[100];
0092   int bstat[100];
0093   int bsect[100];
0094   int bsl[100];
0095   int bnum[100];
0096   int bbx[100];
0097   int bcod[100];
0098   int bk[100];
0099   int bx[100];
0100   float bposx[100];
0101   float bposy[100];
0102   float bposz[100];
0103   float bdirx[100];
0104   float bdiry[100];
0105   float bdirz[100];
0106 
0107   // TRACO
0108   int ntraco;
0109   int twh[80];
0110   int tstat[80];
0111   int tsect[80];
0112   int tnum[80];
0113   int tbx[80];
0114   int tcod[80];
0115   int tk[80];
0116   int tx[80];
0117   float tposx[100];
0118   float tposy[100];
0119   float tposz[100];
0120   float tdirx[100];
0121   float tdiry[100];
0122   float tdirz[100];
0123 
0124   // TSPHI
0125   int ntsphi;
0126   int swh[40];
0127   int sstat[40];
0128   int ssect[40];
0129   int sbx[40];
0130   int scod[40];
0131   int sphi[40];
0132   int sphib[40];
0133   float sposx[100];
0134   float sposy[100];
0135   float sposz[100];
0136   float sdirx[100];
0137   float sdiry[100];
0138   float sdirz[100];
0139 
0140   // TSTHETA
0141   int ntstheta;
0142   int thwh[40];
0143   int thstat[40];
0144   int thsect[40];
0145   int thbx[40];
0146   int thcode[40][7];
0147   int thpos[40][7];
0148   int thqual[40][7];
0149 
0150   // SECTOR COLLECTOR (PHI VIEW)
0151   int nscphi;
0152   int scphwh[40];
0153   int scphstat[40];
0154   int scphsect[40];
0155   int scphbx[40];
0156   int scphcod[40];
0157   int scphphi[40];
0158   int scphphib[40];
0159   float scphposx[100];
0160   float scphposy[100];
0161   float scphposz[100];
0162   float scphdirx[100];
0163   float scphdiry[100];
0164   float scphdirz[100];
0165 
0166   // SECTOR COLLECTOR (THETA VIEW)
0167   int nsctheta;
0168   int scthwh[40];
0169   int scthstat[40];
0170   int scthsect[40];
0171   int scthbx[40];
0172   int scthcode[40][7];
0173   int scthpos[40][7];
0174   int scthqual[40][7];
0175 };
0176 
0177 #endif