CMS 3D CMS Logo

DTConfigTraco.cc

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00003 //   Class: DTConfigTraco
00004 //
00005 //   Description: Configurable parameters and constants for Level1 Mu DT Trigger - TRACO chip
00006 //
00007 //
00008 //   Author List:
00009 //   S.Vanini
00010 //-----------------------------------------------------------------------
00011 
00012 //-----------------------
00013 // This Class's Header --
00014 //-----------------------
00015 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigTraco.h"
00016 
00017 //---------------
00018 // C++ Headers --
00019 //---------------
00020 #include <cstdlib>
00021 #include <string>
00022 #include <iostream>
00023 #include <fstream>
00024 #include <stdio.h>
00025 #include <stdlib.h>
00026 #include <math.h>
00027 #include <iomanip>
00028                
00029 //-------------------------------
00030 // Collaborating Class Headers --
00031 //-------------------------------
00032 
00033 //----------------
00034 // Constructors --
00035 //----------------
00036 DTConfigTraco::DTConfigTraco(const edm::ParameterSet& ps) { 
00037 
00038   setDefaults(ps);
00039 
00040 }
00041 
00042 //--------------
00043 // Destructor --
00044 //--------------
00045 DTConfigTraco::~DTConfigTraco() {}
00046 
00047 //--------------
00048 // Operations --
00049 //--------------
00050 
00051 void
00052 DTConfigTraco::setDefaults(const edm::ParameterSet& ps) {
00053 
00054   // Debug flag 
00055   m_debug = ps.getUntrackedParameter<int>("Debug");
00056 
00057   // KRAD traco parameter
00058   m_krad = ps.getParameter<int>("KRAD");
00059 
00060   // BTIC traco parameter
00061   m_btic = ps.getParameter<int>("BTIC");
00062  
00063   // DD traco parameter: this is fixed
00064   m_dd = ps.getParameter<int>("DD");
00065 
00066   // recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO
00067   m_reusei = ps.getParameter<int>("REUSEI");
00068   m_reuseo = ps.getParameter<int>("REUSEO");
00069 
00070   // single HTRIG enabling on first/second tracks F(S)HTMSK
00071   m_fhtmsk = ps.getParameter<int>("FHTMSK");
00072   m_shtmsk = ps.getParameter<int>("SHTMSK");
00073 
00074   // single LTRIG enabling on first/second tracks: F(S)LTMSK
00075   m_fltmsk = ps.getParameter<int>("FLTMSK");
00076   m_sltmsk = ps.getParameter<int>("SLTMSK");
00077 
00078   // preference to inner on first/second tracks: F(S)SLMSK
00079   m_fslmsk = ps.getParameter<int>("FSLMSK");
00080   m_sslmsk = ps.getParameter<int>("SSLMSK");
00081 
00082   // preference to HTRIG on first/second tracks: F(S)HTPRF
00083   m_fhtprf = ps.getParameter<int>("FHTPRF");
00084   m_shtprf = ps.getParameter<int>("SHTPRF");
00085 
00086   // ascend. order for K sorting first/second tracks: F(S)HISM
00087   m_fhism = ps.getParameter<int>("FHISM");
00088   m_shism = ps.getParameter<int>("SHISM");
00089 
00090   // K tollerance for correlation in TRACO: F(S)PRGCOMP
00091   m_fprgcomp = ps.getParameter<int>("FPRGCOMP");
00092   m_sprgcomp = ps.getParameter<int>("SPRGCOMP");
00093 
00094   // suppr. of LTRIG in 4 BX before HTRIG: LTS
00095   m_lts = ps.getParameter<int>("LTS");
00096 
00097   // single LTRIG accept enabling on first/second tracks LTF
00098   m_ltf = ps.getParameter<int>("LTF");
00099 
00100   // Connected bti in traco: bti mask
00101   for(int b=0; b<16; b++)
00102   {
00103         std::string label = "TRGENB";
00104         char p0 = (b/10)+'0';
00105         char p1 = (b%10)+'0';
00106         if ( p0 != '0' )
00107                 label = label + p0;
00108         label = label + p1;
00109         
00110         m_trgenb.set(b,ps.getParameter<int>(label));
00111   }
00112 
00113   // IBTIOFF traco parameter
00114   m_ibtioff = ps.getParameter<int>("IBTIOFF");
00115 
00116   // bending angle cut for all stations and triggers : KPRGCOM
00117   m_kprgcom = ps.getParameter<int>("KPRGCOM");
00118  
00119   // flag for Low validation parameter
00120   m_lvalidifh =  ps.getParameter<int>("LVALIDIFH");
00121 }
00122 
00123 void 
00124 DTConfigTraco::print() const {
00125   std::cout << "******************************************************************************" << std::endl;
00126   std::cout << "*              DTTrigger configuration : TRACO chips                                 *" << std::endl;
00127   std::cout << "******************************************************************************" << std::endl;
00128   std::cout << "*                                                                            *" << std::endl;
00129   std::cout << "Debug flag : " << debug()  << std::endl;
00130   std::cout << "KRAD traco parameter : " << KRAD() << std::endl;
00131   std::cout << "BTIC traco parameter : " << BTIC() << std::endl;
00132   std::cout << "DD traco parameter : " << DD() << std::endl;
00133   std::cout << "REUSEI, REUSEO : " << TcReuse(0) << ", " << TcReuse(1) << std::endl;
00134   std::cout << "FHTMSK, SHTMSK : " << singleHflag(0) << ", " << singleHflag(1) << std::endl;
00135   std::cout << "FLTMSK, SLTMSK: " << singleLflag(0) << ", " << singleLflag(1) << std::endl;
00136   std::cout << "FSLMSK, SSLMSK : " << prefInner(0) << ", " << prefInner(1) << std::endl;
00137   std::cout << "FHTPRF, SHTPRF : " << prefHtrig(0) << ", " << prefHtrig(1) << std::endl;
00138   std::cout << "FHISM, SHISM : " << sortKascend(0) << ", " << sortKascend(1) << std::endl;
00139   std::cout << "FPRGCOMP, SPRGCOMP : " << TcKToll(0) << ", " << TcKToll(1) << std::endl;
00140   std::cout << "LTS : " << TcBxLts() << std::endl;
00141   std::cout << "LTF : " << singleLenab(0) << std::endl;
00142   std::cout << "Connected bti in traco - bti mask : ";
00143   for(int b=1; b<=16; b++)
00144         std::cout << usedBti(b) << " "; 
00145   std::cout << std::endl;
00146   std::cout << "IBTIOFF : " << IBTIOFF() << std::endl;
00147   std::cout << "bending angle cut : " << BendingAngleCut() << std::endl;
00148   std::cout << "flag for Low validation parameter : " << LVALIDIFH() << std::endl;
00149   std::cout << "******************************************************************************" << std::endl;
00150 
00151 }

Generated on Tue Jun 9 17:40:26 2009 for CMSSW by  doxygen 1.5.4