Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:38

0001 #include <iostream>
0002 #include <string>
0003 
0004 #include "CondFormats/L1TObjects/interface/L1RCTParameters.h"
0005 
0006 int main()
0007 {
0008   // For testing use 1:1 LUT
0009   std::vector<double> eGammaECalScaleFactors(32, 1.0);
0010   std::vector<double> eGammaHCalScaleFactors(32, 1.0);
0011   std::vector<double> jetMETECalScaleFactors(32, 1.0);
0012   std::vector<double> jetMETHCalScaleFactors(32, 1.0);  
0013   std::vector<double> c,d,e,f,g,h;
0014   L1RCTParameters* rctParameters = 
0015     new L1RCTParameters(1.0,                       // eGammaLSB
0016             1.0,                       // jetMETLSB
0017             3.0,                       // eMinForFGCut
0018             40.0,                      // eMaxForFGCut
0019             0.5,                       // hOeCut
0020             1.0,                       // eMinForHoECut
0021             50.0,                      // eMaxForHoECut
0022             1.0,                       // hMinForHoECut
0023             2.0,                       // eActivityCut
0024             3.0,                       // hActivityCut
0025             3,                         // eicIsolationThreshold
0026                         3,                         // jscQuietThresholdBarrel
0027                         3,                         // jscQuietThresholdEndcap
0028             false,                     // noiseVetoHB
0029             false,                     // noiseVetoHEplus
0030             false,                     // noiseVetoHEminus
0031             false,                     // use Lindsey
0032             eGammaECalScaleFactors,
0033             eGammaHCalScaleFactors,
0034             jetMETECalScaleFactors,
0035             jetMETHCalScaleFactors,
0036             c,
0037             d,
0038             e,
0039             f,
0040             g,
0041             h
0042             );  
0043   const unsigned short iPhiMax = 72;
0044   const short iAbsEtaMax = 32;
0045   for(unsigned short iPhi = 0; iPhi < iPhiMax; iPhi++)
0046     {
0047       for(short iEta = -iAbsEtaMax; iEta <= iAbsEtaMax; iEta++)
0048     {
0049       unsigned short iCrate;
0050       unsigned short iCard;
0051       unsigned short iTower;
0052       if(abs(iEta) > 28 && iPhi > 17) 
0053         {
0054           iCrate = 777;
0055           iCard = 777;
0056           iTower = 777;
0057         }
0058       else
0059         if(iEta != 0)
0060           {
0061         iCrate = rctParameters->calcCrate(iPhi, iEta);
0062         iCard = rctParameters->calcCard(iPhi, (unsigned short) abs(iEta));
0063         iTower = rctParameters->calcTower(iPhi, (unsigned short) abs(iEta));
0064         short jEta = rctParameters->calcIEta(iCrate, iCard, iTower);
0065         unsigned short jPhi = rctParameters->calcIPhi(iCrate, iCard, iTower);
0066         if(iEta != jEta || iPhi != jPhi)
0067           std::cout << "Problem 1: "
0068                 << "\tiEta   = " << iEta << "\tjEta   = " << jEta 
0069                 << "\tiPhi   = " << iPhi << "\tjPhi   = " << jPhi 
0070                 << "\tcrate[][] = " << iCrate 
0071                 << "\tcard[][]  = " << iCard 
0072                 << "\ttower[][] = " << iTower
0073                 << std::endl;
0074           }
0075         else
0076           {
0077         iCrate = 888;
0078         iCard = 888;
0079         iTower = 888;
0080           }
0081     }
0082     }
0083   for(unsigned short iCrate = 0; iCrate < 18; iCrate++)
0084     {
0085       for(unsigned short iCard = 0; iCard < 7; iCard++)
0086     {
0087       for(unsigned short iTower = 0; iTower < 32; iTower++)
0088         {
0089           short iEta = rctParameters->calcIEta(iCrate, iCard, iTower);
0090           unsigned short iPhi = rctParameters->calcIPhi(iCrate, iCard, iTower);
0091           short jCrate = rctParameters->calcCrate(iPhi, iEta);
0092           short jCard = rctParameters->calcCard(iPhi, (unsigned short) abs(iEta));
0093           short jTower = rctParameters->calcTower(iPhi, (unsigned short) abs(iEta));
0094           if(iCrate != jCrate || iCard != jCard || iTower != jTower)
0095         std::cout << "Problem 2:"
0096               << "\tiCrate = " << iCrate << "\tiCard  = " << iCard << "\tiTower = " << iTower 
0097               << "\tjCrate = " << jCrate << "\tjCard  = " << jCard << "\tjTower = " << jTower 
0098               << "\tiEta   = " << iEta << "\tiPhi   = " << iPhi
0099               << std::endl;
0100         }
0101     }
0102     }
0103   for(unsigned short iCrate = 0; iCrate < 18; iCrate++)
0104     {
0105       unsigned short iCard = 999;
0106       for(unsigned short iTower = 0; iTower < 8; iTower++)
0107     {
0108       short iEta = rctParameters->calcIEta(iCrate, iCard, iTower);
0109       short iPhi = rctParameters->calcIPhi(iCrate, iCard, iTower);
0110       short jCrate = rctParameters->calcCrate(iPhi, iEta);
0111       short jCard = rctParameters->calcCard(iPhi, (unsigned short) abs(iEta));
0112       short jTower = rctParameters->calcTower(iPhi, (unsigned short) abs(iEta));
0113       if(iCrate != jCrate || iCard != jCard || iTower != jTower)
0114         std::cout << "Problem 2:"
0115               << "\tiCrate = " << iCrate << "\tiCard  = " << iCard << "\tiTower = " << iTower 
0116               << "\tjCrate = " << jCrate << "\tjCard  = " << jCard << "\tjTower = " << jTower 
0117               << "\tiEta   = " << iEta << "\tiPhi   = " << iPhi
0118               << std::endl;
0119     }
0120     }
0121 }