CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

L1RPCConeDefinitionProducer Class Reference

Inheritance diagram for L1RPCConeDefinitionProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Types

typedef boost::shared_ptr
< L1RPCConeDefinition
ReturnType

Public Member Functions

 L1RPCConeDefinitionProducer (const edm::ParameterSet &)
ReturnType produce (const L1RPCConeDefinitionRcd &)
 ~L1RPCConeDefinitionProducer ()

Private Attributes

int m_hwPlaneBeg
int m_hwPlaneEnd
L1RPCConeDefinition::TLPSizeVec m_LPSizeVec
L1RPCConeDefinition::TRingToLPVec m_ringToLPVec
L1RPCConeDefinition::TRingToTowerVec m_ringToTowerVec
int m_rollBeg
int m_rollEnd
int m_towerBeg
int m_towerEnd

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 39 of file L1RPCConeDefinitionProducer.cc.


Member Typedef Documentation

Definition at line 44 of file L1RPCConeDefinitionProducer.cc.


Constructor & Destructor Documentation

L1RPCConeDefinitionProducer::L1RPCConeDefinitionProducer ( const edm::ParameterSet iConfig)

Definition at line 77 of file L1RPCConeDefinitionProducer.cc.

References edm::ParameterSet::getParameter(), i, L1RPCConeDefinition::TRingToLP::m_etaPart, L1RPCConeDefinition::TRingToTower::m_etaPart, L1RPCConeDefinition::TRingToLP::m_hwPlane, L1RPCConeDefinition::TRingToTower::m_hwPlane, m_hwPlaneBeg, m_hwPlaneEnd, L1RPCConeDefinition::TRingToLP::m_index, L1RPCConeDefinition::TRingToTower::m_index, L1RPCConeDefinition::TRingToLP::m_LP, L1RPCConeDefinition::TLPSize::m_LP, m_LPSizeVec, m_ringToLPVec, m_ringToTowerVec, m_rollBeg, m_rollEnd, L1RPCConeDefinition::TLPSize::m_size, L1RPCConeDefinition::TLPSize::m_tower, L1RPCConeDefinition::TRingToTower::m_tower, m_towerBeg, m_towerEnd, AlCaRecoCosmics_cfg::name, edm::ESProducer::setWhatProduced(), and matplotRender::t.

                                                                                      :
      m_towerBeg(iConfig.getParameter<int>("towerBeg")),
      m_towerEnd(iConfig.getParameter<int>("towerEnd")),
      m_rollBeg(iConfig.getParameter<int>("rollBeg")),
      m_rollEnd(iConfig.getParameter<int>("rollEnd")),
      m_hwPlaneBeg(iConfig.getParameter<int>("hwPlaneBeg")),
      m_hwPlaneEnd(iConfig.getParameter<int>("hwPlaneEnd"))
{
  //the following line is needed to tell the framework what
  // data is being produced
  setWhatProduced(this);

  for (int t = m_towerBeg; t <= m_towerEnd; ++t){
      
    std::stringstream name;
    name << "lpSizeTower" << t;
      
    
    std::vector<int> newSizes = 
        iConfig.getParameter<std::vector<int> >(name.str().c_str());
    
    for (unsigned int lp = 0; lp < newSizes.size();++lp){
//      L1RPCConeDefinition::TLPSize lps(t, lp,  newSizes[lp]);
      L1RPCConeDefinition::TLPSize lps;
      lps.m_tower=t;
      lps.m_LP=lp;
      lps.m_size=newSizes[lp];
      m_LPSizeVec.push_back(lps);
    }
      

    
  }



   //now do what ever other initialization is needed
   
   //  hw planes numbered from 0 to 5
   // rolls from 0 to 17 (etaPartition)
   //
   //  rollConnLP_[roll]_[hwPlane-1]
   //  rollConnLP_5_3 = cms.vint32(6, 0, 0),
   //     ----- roll 5, hwPlane 4 (3+1) is logplane 6 (OK)
   //
   //  rollConnT_[roll]_[hwPlane-1]
   //  rollConnT_5_3 = cms.vint32(4, -1, -1),
   //     ----- roll 5, hwPlane 4 (3+1) contirubtes to tower 4 (OK)
  
   for (int roll = m_rollBeg; roll <= m_rollEnd; ++roll){
    //L1RPCConeDefinition::THWplaneToTower newHwPlToTower;
    //L1RPCConeDefinition::THWplaneToLP newHWplaneToLP;
    for (int hwpl = m_hwPlaneBeg; hwpl <= m_hwPlaneEnd; ++hwpl){
      std::stringstream name;
      name << "rollConnLP_" << roll << "_" << hwpl;
            
      std::vector<int> hwPl2LPVec =  iConfig.getParameter<std::vector<int> >(name.str().c_str());
      //newHWplaneToLP.push_back(newListLP);
      for (unsigned int i = 0;i < hwPl2LPVec.size();++i){
        
        if (hwPl2LPVec[i]>=0)
        {
//          L1RPCConeDefinition::TRingToLP lp(roll, hwpl, hwPl2LPVec[i],i);
          L1RPCConeDefinition::TRingToLP lp;
          lp.m_etaPart=roll;
          lp.m_hwPlane=hwpl;
          lp.m_LP=hwPl2LPVec[i];
          lp.m_index=i;
          m_ringToLPVec.push_back(lp);
        }
      }
      
            
      std::stringstream name1;
      name1 << "rollConnT_" << roll << "_" << hwpl;
            
      /*L1RPCConeDefinition::TLPList newListT =  
      iConfig.getParameter<std::vector<int> >(name1.str().c_str());
      newHwPlToTower.push_back(newListT);*/
      std::vector<int> hwPl2TowerVec = iConfig.getParameter<std::vector<int> >(name1.str().c_str());
      
      for (unsigned int i = 0;i < hwPl2TowerVec.size();++i){
        
        if (hwPl2TowerVec[i]>=0)
        {
//          L1RPCConeDefinition::TRingToTower rt(roll, hwpl, hwPl2TowerVec[i],i);
          L1RPCConeDefinition::TRingToTower rt;
          rt.m_etaPart=roll;
          rt.m_hwPlane=hwpl;
          rt.m_tower=hwPl2TowerVec[i];
          rt.m_index=i;
          m_ringToTowerVec.push_back(rt);
        }
      }


    }
    //m_RingsToTowers.push_back(newHwPlToTower);
    
    //m_RingsToLP.push_back(newHWplaneToLP);
  }
}
L1RPCConeDefinitionProducer::~L1RPCConeDefinitionProducer ( )

Definition at line 181 of file L1RPCConeDefinitionProducer.cc.

{}

Member Function Documentation

L1RPCConeDefinitionProducer::ReturnType L1RPCConeDefinitionProducer::produce ( const L1RPCConeDefinitionRcd iRecord)

Definition at line 191 of file L1RPCConeDefinitionProducer.cc.

References m_LPSizeVec, m_ringToLPVec, m_ringToTowerVec, m_towerBeg, and m_towerEnd.

{
   using namespace edm::es;
   boost::shared_ptr<L1RPCConeDefinition> pL1RPCConeDefinition(new L1RPCConeDefinition);

   pL1RPCConeDefinition->setFirstTower(m_towerBeg);
   pL1RPCConeDefinition->setLastTower(m_towerEnd);
   
   pL1RPCConeDefinition->setLPSizeVec(m_LPSizeVec);
   pL1RPCConeDefinition->setRingToLPVec(m_ringToLPVec);
   pL1RPCConeDefinition->setRingToTowerVec(m_ringToTowerVec);
   
   
   return pL1RPCConeDefinition ;
}

Member Data Documentation

Definition at line 53 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer().

Definition at line 54 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer().

Definition at line 57 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer(), and produce().

Definition at line 63 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer(), and produce().

Definition at line 60 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer(), and produce().

Definition at line 51 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer().

Definition at line 52 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer().

Definition at line 49 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer(), and produce().

Definition at line 50 of file L1RPCConeDefinitionProducer.cc.

Referenced by L1RPCConeDefinitionProducer(), and produce().