CMS 3D CMS Logo

L1EmulBias Class Reference

#include <L1Trigger/HardwareValidation/plugins/L1EmulBias.h>

Inheritance diagram for L1EmulBias:

edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 L1EmulBias (const edm::ParameterSet &)
template<>
void ModifyCollection (std::auto_ptr< L1CSCTrackCollection > &data, const edm::Handle< L1CSCTrackCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< CSCCorrelatedLCTDigiCollection > &data, const edm::Handle< CSCCorrelatedLCTDigiCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuGMTReadoutCollection > &data, const edm::Handle< L1MuGMTReadoutCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuGMTCandCollection > &data, const edm::Handle< L1MuGMTCandCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< LTCDigiCollection > &data, const edm::Handle< LTCDigiCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuDTChambThContainer > &data, const edm::Handle< L1MuDTChambThContainer > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuDTChambPhContainer > &data, const edm::Handle< L1MuDTChambPhContainer > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuDTTrackContainer > &data, const edm::Handle< L1MuDTTrackContainer > emul)
template<>
void ModifyCollection (std::auto_ptr< L1MuRegionalCandCollection > &data, const edm::Handle< L1MuRegionalCandCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1GctJetCandCollection > &data, const edm::Handle< L1GctJetCandCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1GctEmCandCollection > &data, const edm::Handle< L1GctEmCandCollection >emul)
template<>
void ModifyCollection (std::auto_ptr< L1CaloRegionCollection > &data, const edm::Handle< L1CaloRegionCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< L1CaloEmCollection > &data, const edm::Handle< L1CaloEmCollection > emul)
template<>
void ModifyCollection (std::auto_ptr< EcalTrigPrimDigiCollection > &data, const edm::Handle< EcalTrigPrimDigiCollection > emul)
template<class T>
void ModifyCollection (std::auto_ptr< T > &data, const edm::Handle< T > emul)
 ~L1EmulBias ()

Protected Member Functions

virtual void beginJob (const edm::EventSetup &)
virtual void endJob ()
virtual void produce (edm::Event &, const edm::EventSetup &)

Private Member Functions

int verbose ()

Private Attributes

std::string instName [dedefs::DEnsys][5]
edm::InputTag m_DEsource [dedefs::DEnsys][2]
bool m_doSys [dedefs::DEnsys]
CLHEP::RandFlat * rndFlat_
CLHEP::RandGaussQ * rndGaus_
int verbose_


Detailed Description

Definition at line 38 of file L1EmulBias.h.


Constructor & Destructor Documentation

L1EmulBias::L1EmulBias ( const edm::ParameterSet iConfig  )  [explicit]

assertion/temporary

List of collections to be produced

Definition at line 5 of file L1EmulBias.cc.

References GenMuonPlsPt100GeV_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DEnsys, dedefs::DTF, dedefs::DTP, lat::endl(), dedefs::ETP, dedefs::GCT, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), dedefs::GLT, GMT, dedefs::HTP, i, instName, j, label, dedefs::LTC, m_DEsource, m_doSys, dedefs::RCT, rndFlat_, rndGaus_, dedefs::RPC, dedefs::SystLabel, verbose(), and verbose_.

00005                                                      {
00006 
00007   verbose_ = iConfig.getUntrackedParameter<int>("VerboseFlag",0);
00008 
00009   for(int sys=0; sys<DEnsys; sys++) {
00010     std::string label = SystLabel[sys] + "source";
00011     m_DEsource[sys][0] = iConfig.getParameter<edm::InputTag>(label);
00012     if(sys==CTF) {
00013       std::string label = "CTTsource";
00014       m_DEsource[sys][1] = iConfig.getParameter<edm::InputTag>(label);
00015     }
00016   }
00017   
00018   std::vector<unsigned int> compColls  
00019     = iConfig.getUntrackedParameter<std::vector<unsigned int> >("DO_SYSTEM");
00020   for(int i=0; i<DEnsys; i++)
00021     m_doSys[i] = compColls[i];
00022 
00023   if(verbose()) {
00024     std::cout << "[L1EmulBias] do sys? ";
00025     for(int i=0; i<DEnsys; i++)
00026       std::cout << m_doSys[i];
00027     std::cout << "\n\t";  
00028     for(int i=0; i<DEnsys; i++)
00029       if(m_doSys[i]) 
00030         std::cout << SystLabel[i] << " ";
00031     std::cout << std::endl;  
00032   }
00033   
00034   std::string CollInstName[DEnsys][5];
00035   for(int i=0; i<DEnsys; i++)
00036     for(int j=0; j<5; j++)
00037       CollInstName[i][j]=std::string("");
00038 
00039   CollInstName[GCT][0]+="isoEm"   ;
00040   CollInstName[GCT][1]+="nonIsoEm";
00041   CollInstName[GCT][2]+="cenJets" ;
00042   CollInstName[GCT][3]+="forJets" ;
00043   CollInstName[GCT][4]+="tauJets" ;
00044   CollInstName[DTF][0]+="DT"      ;
00045   CollInstName[DTF][1]+="DTTF"    ;
00046   CollInstName[CTF][0]+="CSC"     ;
00047   CollInstName[CTF][1]+=""        ;
00048   CollInstName[RPC][0]+="RPCb"    ;
00049   CollInstName[RPC][1]+="RPCf"    ;
00050   
00051   for(int i=0; i<DEnsys; i++)
00052     for(int j=0; j<5; j++)
00053       instName[i][j] = CollInstName[i][j];
00054   
00055   if(verbose())
00056     for(int i=0; i<DEnsys; i++)
00057       for(int j=0; j<5; j++)
00058         if(instName[i][j] != "")
00059           std::cout << "[emulbias] " << i << " " << SystLabel[i] 
00060                     << " " << j << " " << instName[i][j] 
00061                     << std::endl;  
00062   
00064   assert(ETP==0); assert(HTP==1); assert(RCT== 2); assert(GCT== 3);
00065   assert(DTP==4); assert(DTF==5); assert(CTP== 6); assert(CTF== 7);
00066   assert(RPC==8); assert(LTC==9); assert(GMT==10); assert(GLT==11);
00067 
00069   if(m_doSys[ETP])  produces<EcalTrigPrimDigiCollection>     (instName[ETP][0]);
00070   if(m_doSys[HTP])  produces<HcalTrigPrimDigiCollection>     (instName[HTP][0]);
00071   if(m_doSys[RCT])  produces<L1CaloEmCollection>             (instName[RCT][0]);
00072   if(m_doSys[RCT])  produces<L1CaloRegionCollection>         (instName[RCT][0]);
00073   if(m_doSys[GCT])  produces<L1GctEmCandCollection>          (instName[GCT][0]);
00074   if(m_doSys[GCT])  produces<L1GctEmCandCollection>          (instName[GCT][1]);
00075   if(m_doSys[GCT])  produces<L1GctJetCandCollection>         (instName[GCT][2]);
00076   if(m_doSys[GCT])  produces<L1GctJetCandCollection>         (instName[GCT][3]);
00077   if(m_doSys[GCT])  produces<L1GctJetCandCollection>         (instName[GCT][4]);
00078   if(m_doSys[DTP])  produces<L1MuDTChambPhContainer>         (instName[DTP][0]);
00079   if(m_doSys[DTP])  produces<L1MuDTChambThContainer>         (instName[DTP][0]);
00080   if(m_doSys[DTF])  produces<L1MuRegionalCandCollection>     (instName[DTF][0]);
00081   if(m_doSys[DTF])  produces<L1MuDTTrackContainer>           (instName[DTF][1]);
00082   if(m_doSys[CTP])  produces<CSCCorrelatedLCTDigiCollection> (instName[CTP][0]);
00083   if(m_doSys[CTF])  produces<L1MuRegionalCandCollection>     (instName[CTF][0]);
00084   if(m_doSys[CTF])  produces<L1CSCTrackCollection>           (instName[CTF][1]);
00085   if(m_doSys[RPC])  produces<L1MuRegionalCandCollection>     (instName[RPC][0]);
00086   if(m_doSys[RPC])  produces<L1MuRegionalCandCollection>     (instName[RPC][1]);
00087   if(m_doSys[LTC])  produces<LTCDigiCollection>              (instName[LTC][0]);
00088   if(m_doSys[GMT])  produces<L1MuGMTCandCollection>          (instName[GMT][0]);
00089   if(m_doSys[GMT])  produces<L1MuGMTReadoutCollection>       (instName[GMT][0]);
00090   if(m_doSys[GLT])  produces<L1GlobalTriggerReadoutRecord>   (instName[GLT][0]);
00091   if(m_doSys[GLT])  produces<L1GlobalTriggerEvmReadoutRecord>(instName[GLT][0]);
00092   if(m_doSys[GLT])  produces<L1GlobalTriggerObjectMapRecord> (instName[GLT][0]);
00093 
00094   edm::Service<edm::RandomNumberGenerator> rng;
00095   CLHEP::HepRandomEngine& engine = rng->getEngine();
00096   rndFlat_ = new CLHEP::RandFlat  (engine, 0., 1.);
00097   rndGaus_ = new CLHEP::RandGaussQ(engine, 0., 1.);
00098 
00099   if(verbose())
00100     std::cout << "L1EmulBias::L1EmulBias()... done." << std::endl; 
00101 }

L1EmulBias::~L1EmulBias (  ) 

Definition at line 103 of file L1EmulBias.cc.

References rndFlat_, and rndGaus_.

00103                         {
00104   delete rndFlat_;
00105   delete rndGaus_;
00106 }


Member Function Documentation

void L1EmulBias::beginJob ( const edm::EventSetup  )  [protected, virtual]

Reimplemented from edm::EDProducer.

Definition at line 109 of file L1EmulBias.cc.

00109 {}

void L1EmulBias::endJob ( void   )  [protected, virtual]

Reimplemented from edm::EDProducer.

Definition at line 112 of file L1EmulBias.cc.

00112 {}

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1CSCTrackCollection > &  data,
const edm::Handle< L1CSCTrackCollection emul 
) [inline]

Definition at line 419 of file L1EmulBias.h.

References CSCCorrelatedLCTDigi::getTrknmb(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality(), L1MuRegionalCand::setPtPacked(), CSCCorrelatedLCTDigi::setTrknmb(), L1MuRegionalCand::setType(), and L1MuRegionalCand::type_idx().

00420                                                                                                {
00421   typedef L1CSCTrackCollection::const_iterator col_cit;
00422   //typedef std::vector<L1CSCTrack> L1CSCTrackCollection;
00423   //typedef std::pair<csc::L1Track,CSCCorrelatedLCTDigiCollection> L1CSCTrack;
00424   //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection;
00425   typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt;//map iterator
00426   typedef CSCCorrelatedLCTDigiCollection::const_iterator    vecIt;//vec iterator
00427   CSCCorrelatedLCTDigiCollection_ ctf_trk_data_v, ctf_trk_emul_v; //vector
00428   //loop over csc-tracks (ie pairs<l1track,digi_vec>)
00429   for(col_cit tcit=emul->begin(); tcit!=emul->end(); tcit++) {
00430     csc::L1Track l1trk = tcit->first;
00431     if(l1trk.quality()<4)
00432       l1trk.setPtPacked((l1trk.pt_packed()>>2)&0x1f);
00433     l1trk.setType(l1trk.type_idx());
00434     //L1MuRegionalCand reg(tcit->first.getDataWord(), tcit->first.bx());
00435     std::auto_ptr<CSCCorrelatedLCTDigiCollection> dgcoll(new CSCCorrelatedLCTDigiCollection);
00436     CSCCorrelatedLCTDigiCollection ldc = tcit->second; //muondigicollection=map
00437     //get the lct-digi-collection (ie muon-digi-collection)
00438     //loop over data (map<idx,vec_digi>)
00439     for (mapIt mit = ldc.begin(); mit != ldc.end(); mit++) {
00440       //get vec_digi range(pair)  corresponding to idx of map
00441       //loop over digi vector (ie between begin and end pointers in range)
00442       //CSCCorrelatedLCTDigiCollection::Range ctpRange = ctp_lct_data_->get((*mit).first)
00443       CSCDetId did = (*mit).first;
00444       //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) {
00445       for (vecIt vit = ldc.get((*mit).first).first; 
00446            vit != ldc.get((*mit).first).second; vit++) {
00447         CSCCorrelatedLCTDigi dg = *vit; 
00448         uint16_t tn = dg.getTrknmb();
00449         if(tn==2) tn--;
00450         dg.setTrknmb(tn);
00451         dgcoll->insertDigi(did,dg);
00452       }
00453     }
00454     L1CSCTrack l1csctrk = std::make_pair(l1trk,*dgcoll);
00455     data->push_back(l1csctrk);
00456   }
00457 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< CSCCorrelatedLCTDigiCollection > &  data,
const edm::Handle< CSCCorrelatedLCTDigiCollection emul 
) [inline]

modify digi

append digi

Definition at line 389 of file L1EmulBias.h.

References CSCCorrelatedLCTDigi::getTrknmb(), and CSCCorrelatedLCTDigi::setTrknmb().

00390                                                                                  {
00391   //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection;
00392   typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt;//map iterator
00393   typedef CSCCorrelatedLCTDigiCollection::const_iterator    vecIt;//vec iterator
00394   //loop over data (map<idx,vec_digi>)
00395   for (mapIt mit = emul->begin(); mit != emul->end(); mit++) {
00396     //get detector index
00397     CSCDetId did = (*mit).first;
00398     //get vec_digi range(pair)  corresponding to idx of map
00399     //CSCCorrelatedLCTDigiCollection::Range ctpRange = emul->get(did)
00400     //loop over digi vector (ie between begin and end pointers in range)
00401     //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) {
00402     for (vecIt vit = emul->get((*mit).first).first; 
00403          vit != emul->get((*mit).first).second; vit++) {
00405       CSCCorrelatedLCTDigi dg = *vit; 
00406       //dg.clear;
00407       uint16_t tn = dg.getTrknmb();
00408       if(tn==2) tn--;
00409       dg.setTrknmb(tn);
00410       //dg.setTrknmb   (dg.getTrknmb   ());
00411       //dg.setMPCLink  (dg.getMPCLink  ());
00412       //dg.setWireGroup(dg.getWireGroup());
00414       data->insertDigi(did,dg);
00415     }
00416   }
00417 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuGMTReadoutCollection > &  data,
const edm::Handle< L1MuGMTReadoutCollection emul 
) [inline]

Definition at line 324 of file L1EmulBias.h.

References parsecf::pyparsing::col(), i, it, L1MuRegionalCand::setPtPacked(), and L1MuRegionalCand::setType().

00325                                                                            {
00326   typedef std::vector<L1MuGMTReadoutRecord>::const_iterator col_cit;
00327   std::vector<L1MuGMTReadoutRecord> col = emul->getRecords();
00328   for(col_cit it = col.begin(); it!=col.end(); it++) {
00329     L1MuGMTReadoutRecord rec(it->getBxInEvent());    
00330     rec.setBxNr (it->getBxNr ());
00331     rec.setEvNr (it->getEvNr ());
00332     rec.setBCERR(it->getBCERR());
00333     
00334     std::auto_ptr<L1MuRegionalCandCollection> new_dttf(new L1MuRegionalCandCollection);
00335     std::auto_ptr<L1MuRegionalCandCollection> new_rpcb(new L1MuRegionalCandCollection);
00336     std::auto_ptr<L1MuRegionalCandCollection> new_csc (new L1MuRegionalCandCollection);
00337     std::auto_ptr<L1MuRegionalCandCollection> new_rpcf(new L1MuRegionalCandCollection);
00338   
00339     L1MuRegionalCandCollection old_dttf = it->getDTBXCands();
00340     L1MuRegionalCandCollection old_rpcb = it->getBrlRPCCands();
00341     L1MuRegionalCandCollection old_csc  = it->getCSCCands();
00342     L1MuRegionalCandCollection old_rpcf = it->getFwdRPCCands();
00343 
00344     typedef L1MuRegionalCandCollection::const_iterator ait;
00345     for(ait it = old_dttf.begin(); it!=old_dttf.end(); it++) {
00346       L1MuRegionalCand cand(*it);    
00347       if(it->quality()<4)
00348         cand.setPtPacked((it->pt_packed()>>2)&0x1f);
00349       cand.setType(it->type_idx());
00350       new_dttf->push_back(cand);
00351     }
00352     for(ait it = old_rpcb.begin(); it!=old_rpcb.end(); it++) {
00353       L1MuRegionalCand cand(*it);    
00354       if(it->quality()<4)
00355         cand.setPtPacked((it->pt_packed()>>2)&0x1f);
00356       cand.setType(it->type_idx());
00357       new_rpcb->push_back(cand);
00358     }
00359     for(ait it = old_csc.begin(); it!=old_csc.end(); it++) {
00360       L1MuRegionalCand cand(*it);    
00361       if(it->quality()<4)
00362         cand.setPtPacked((it->pt_packed()>>2)&0x1f);
00363       cand.setType(it->type_idx());
00364       new_csc->push_back(cand);
00365     }
00366     for(ait it = old_rpcf.begin(); it!=old_rpcf.end(); it++) {
00367       L1MuRegionalCand cand(*it);    
00368       if(it->quality()<4)
00369         cand.setPtPacked((it->pt_packed()>>2)&0x1f);
00370       cand.setType(it->type_idx());
00371       new_rpcf->push_back(cand);
00372     }
00373   
00374     for(unsigned i=0; i<old_dttf.size(); i++)
00375       rec.setInputCand(i   ,new_dttf->at(i));//dt  : 0..3
00376     for(unsigned i=0; i<old_rpcb.size(); i++)
00377       rec.setInputCand(i+ 4,new_rpcb->at(i));//rpcb: 4..7
00378     for(unsigned i=0; i<old_csc .size(); i++)
00379       rec.setInputCand(i+ 8,new_csc ->at(i));//csc : 8..11
00380     for(unsigned i=0; i<old_rpcf.size(); i++)
00381       rec.setInputCand(i+12,new_rpcf->at(i));//rpcf:12..15
00382 
00383     data->addRecord(rec);
00384   }
00385   //void addRecord(L1MuGMTReadoutRecord const& rec) {
00386 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuGMTCandCollection > &  data,
const edm::Handle< L1MuGMTCandCollection emul 
) [inline]

Definition at line 307 of file L1EmulBias.h.

References it.

00308                                                                         {
00309   //typedef std::vector<L1MuGMTCand>          L1MuGMTCandCollection;
00310   typedef std::vector<L1MuGMTCand>::const_iterator col_cit;
00311   for(col_cit it=emul->begin(); it!=emul->end(); it++) {
00312     float phiv = it->phiValue();
00313     unsigned dword = it->getDataWord();
00314     if(phiv>2. && phiv<4.) 
00315       dword = dword>>2;
00316     L1MuGMTCand cand(dword,it->bx());
00317     data->push_back(cand);
00318     //cand.setPtPacked(cand.ptIndex()>>1);
00319     //data->push_back(L1MuGMTCand((it->getDataWord()>>1),it->bx()));
00320   }
00321 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< LTCDigiCollection > &  data,
const edm::Handle< LTCDigiCollection emul 
) [inline]

Definition at line 296 of file L1EmulBias.h.

References it.

00297                                                                     {
00298   typedef std::vector<LTCDigi>::const_iterator col_cit;
00299   for(col_cit it=emul->begin(); it!=emul->end(); it++) {
00300     data->push_back(*it);
00301     //note: raw data accessor missing in dataformats!
00302     //data->push_back(LTCDigi(it->data()>>1));
00303   }
00304 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuDTChambThContainer > &  data,
const edm::Handle< L1MuDTChambThContainer emul 
) [inline]

Definition at line 274 of file L1EmulBias.h.

References it, j, and tracks.

00275                                                                          {
00276   typedef std::vector<L1MuDTChambThDigi> Thi_Container;
00277   typedef Thi_Container::const_iterator  col_cit;
00278   Thi_Container* tracks_in = emul->getContainer(); 
00279   Thi_Container tracks(tracks_in->size());
00280   int uos[7],uqa[7];
00281   for(col_cit it=tracks_in->begin(); it!=tracks_in->end(); it++) {
00282     for(int j=0; j<7; j++) {
00283       uos[j]=(it->position(j)?0:1);
00284       uqa[j]=(it->quality (j)?0:1);
00285     }
00286     int stnum = it->stNum();
00287     stnum = (stnum>2?stnum-1:stnum);
00288     L1MuDTChambThDigi 
00289       cand(it->bxNum(),it->whNum(),it->scNum(),stnum,uos,uqa);
00290     tracks.push_back(cand);
00291   }
00292   data->setContainer(tracks);
00293 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuDTChambPhContainer > &  data,
const edm::Handle< L1MuDTChambPhContainer emul 
) [inline]

Definition at line 255 of file L1EmulBias.h.

References it, and tracks.

00256                                                                          {
00257   typedef std::vector<L1MuDTChambPhDigi> Phi_Container;
00258   typedef Phi_Container::const_iterator  col_it;
00259   Phi_Container* tracks_in = emul->getContainer(); 
00260   Phi_Container tracks(tracks_in->size());
00261   int uqua;
00262   for(col_it it=tracks_in->begin(); it!=tracks_in->end(); it++) {
00263     uqua = it->code(); // (int)(10*rndFlat_->fire());
00264     uqua = (uqua<2?uqua+1:uqua);
00265     L1MuDTChambPhDigi 
00266       cand(it->bxNum(),it->whNum(),it->scNum(),it->stNum(),
00267            it->phi(),it->phiB(),uqua,it->Ts2Tag(),it->BxCnt() );
00268     tracks.push_back(cand);
00269   }
00270   data->setContainer(tracks);
00271 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuDTTrackContainer > &  data,
const edm::Handle< L1MuDTTrackContainer emul 
) [inline]

Definition at line 225 of file L1EmulBias.h.

References it, L1MuRegionalCand::setPtPacked(), L1MuRegionalCand::setQualityPacked(), L1MuRegionalCand::setType(), and tracks.

00226                                                                        {
00227   typedef std::vector<L1MuDTTrackCand>  TrackContainer;
00228   typedef TrackContainer::const_iterator col_cit;
00229   TrackContainer* tracks_in = emul->getContainer();
00230   TrackContainer tracks;
00231   for(col_cit it = tracks_in->begin(); it!=tracks_in->end(); it++) {
00232     L1MuDTTrackCand cand(*it);    
00233     cand.setType(it->type_idx());
00234     unsigned pt = it->pt_packed(); //0..31
00235     unsigned qua = it->quality(); //0..7
00236     if(qua<4) {
00237       cand.setPtPacked((pt>>2)&0x1f);
00238       cand.setQualityPacked((qua<<1)&0x07);
00239     }
00240     tracks.push_back(cand);
00241   }
00242   data->setContainer(tracks);
00243   /*   few alternatives...
00244   unsigned phip = it->phi_packed();
00245   unsigned raw = it->getDataWord();
00246   uint16_t rdata = raw;
00247   if(2.5<fabs(it->phiValue())<3.0)
00248     rdata = raw>>1;
00249   L1MuRegionalCand cand(rdata,it->bx());    
00250   double rnd    = rndFlat_->fire();
00251   */
00252 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1MuRegionalCandCollection > &  data,
const edm::Handle< L1MuRegionalCandCollection emul 
) [inline]

Definition at line 188 of file L1EmulBias.h.

References it, phi, and L1MuRegionalCand::setPtPacked().

00189                                                                                {
00190   typedef L1MuRegionalCandCollection::const_iterator col_cit;
00191   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00192     L1MuRegionalCand cand(*it);    
00193     //unsigned raw = it->getDataWord();
00194     unsigned phi = it->phi_packed();
00195     if(phi>90 && phi<110)
00196       cand.setPtPacked( (it->pt_packed())>>1 );
00197       //raw = (raw>>2);
00198       //L1MuRegionalCand cand(raw); 
00199       //cand.setType(it->type_idx());
00200     data->push_back(cand);
00201   }
00202   /* few alternatives...
00203   unsigned pt= it->pt_packed(); //0..31
00204   unsigned int qua = it->quality(); //0..7
00205   if(qua<4){cand.setPtPacked((pt>>2)&0x1f);cand.setQualityPacked((qua<<1)&0x07);}
00206   double rnd = rndGaus_->fire();
00207   if(rnd>0.7) {
00208     raw_=(raw>>1);
00209     cand.setDataWord(raw_);
00210   } else if (rnd>0.3) {
00211     pt_ *= (int)(1+0.3*rndFlat_->fire());
00212     cand.setPtPacked(pt_);
00213   } else 
00214     cand.reset();
00215   unsigned raw = it->getDataWord();
00216   if(2.5<fabs(it->phiValue())<3.0)
00217     rdata = raw>>1;
00218   L1MuRegionalCand cand(rdata,it->bx());    
00219   */
00220   //L1MuRegionalCand(unsigned dataword = 0, int bx = 0); 
00221   //L1MuRegionalCand(unsigned type_idx, unsigned phi, unsigned eta, unsigned pt, unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx);
00222 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1GctJetCandCollection > &  data,
const edm::Handle< L1GctJetCandCollection emul 
) [inline]

Definition at line 173 of file L1EmulBias.h.

References it, and rndFlat_.

00174                                                                          {
00175   typedef L1GctJetCandCollection::const_iterator col_cit;
00176   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00177     unsigned raw = it->raw();
00178     uint16_t rdata = raw;
00179     if(it->phiIndex()<4*rndFlat_->fire()) //0-17
00180       rdata = raw>>1;
00181     L1GctJetCand cand(rdata,it->isTau(),it->isForward());
00182     data->push_back(cand);
00183   }
00184   //L1GctJetCand(uint16_t data, bool isTau, bool isFor);
00185 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1GctEmCandCollection > &  data,
const edm::Handle< L1GctEmCandCollection emul 
) [inline]

Definition at line 157 of file L1EmulBias.h.

References it, and rndFlat_.

00158                                                                        {
00159   typedef L1GctEmCandCollection::const_iterator col_cit;
00160   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00161     unsigned raw = it->raw();
00162     uint16_t rdata = raw;
00163     if(it->phiIndex()<4*rndFlat_->fire()) //0-17
00164       rdata = raw>>1;
00165     L1GctEmCand cand(rdata,it->isolated());
00166     data->push_back(cand);
00167   }  
00168   //etaIndex(), etaSign() : -6 to -0, +0 to +6
00169   //L1GctEmCand(uint16_t data, bool iso);
00170 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1CaloRegionCollection > &  data,
const edm::Handle< L1CaloRegionCollection emul 
) [inline]

Definition at line 140 of file L1EmulBias.h.

References it.

00141                                                                          {
00142   typedef L1CaloRegionCollection::const_iterator col_cit;
00143   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00144     unsigned crate = it->rctCrate();
00145     unsigned raw = it->et();
00146     uint16_t rdata = raw;
00147     if(crate<4*rndFlat_->fire())
00148       rdata = raw>>1;
00149     L1CaloRegion cand(rdata,it->gctEta(),it->gctPhi(),it->bx());    
00150     data->push_back(cand);
00151   }  
00152   //L1CaloRegion(uint16_t data, unsigned ieta, unsigned iphi, int16_t bx);
00153   //Note: raw data accessor missing in dataformats!
00154 }

template<>
void L1EmulBias::ModifyCollection ( std::auto_ptr< L1CaloEmCollection > &  data,
const edm::Handle< L1CaloEmCollection emul 
) [inline]

Definition at line 121 of file L1EmulBias.h.

References it.

00122                                                                      {
00123   typedef L1CaloEmCollection::const_iterator col_cit;
00124   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00125     unsigned crate = it->rctCrate();
00126     unsigned raw   = it->raw();
00127     bool     iso   = it->isolated();  
00128     unsigned rdata = raw;
00129     if(crate<4*rndFlat_->fire())
00130       rdata = raw>>1;
00131     L1CaloEmCand cand(rdata,crate,iso,it->index(),it->bx(),false);    
00132     data->push_back(cand);
00133   }  
00134   //L1CaloEmCand(uint16_t data, unsigned crate, bool iso);
00135   //L1CaloEmCand(uint16_t data, unsigned crate, bool iso, uint16_t index, int16_t bx, bool dummy);
00136 }

void L1EmulBias::ModifyCollection ( std::auto_ptr< EcalTrigPrimDigiCollection > &  data,
const edm::Handle< EcalTrigPrimDigiCollection emul 
) [inline]

Definition at line 77 of file L1EmulBias.h.

References parsecf::pyparsing::col(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), it, EcalTriggerPrimitiveSample::raw(), reset(), s, EcalTriggerPrimitiveDigi::sample(), EcalTriggerPrimitiveDigi::setSampleValue(), tmp, and verbose().

00078                                                                              {
00079   typedef EcalTrigPrimDigiCollection::const_iterator col_cit;
00080   for(col_cit it = emul->begin(); it!=emul->end(); it++) {
00081     EcalTriggerPrimitiveDigi col(*it);    
00082     int iphi = it->id().iphi();
00083     bool reset = (iphi>18 && iphi<39);//remove few supermodules
00084     for(int s=0; s<5; s++) {
00085       uint16_t sample = it->sample(s).raw(); 
00086       if(sample==0) continue;
00087       uint16_t tmp = reset?0:sample; 
00088       if(reset)
00089         tmp = sample>>1; 
00090       col.setSampleValue(s,tmp);
00091       if(verbose() && sample!=0)
00092         std::cout << "[emulbias] etp " << *it << "\t sample: " << s << "  "
00093                   << std::hex << sample << " -> " << col.sample(s).raw()
00094                   << std::dec << std::endl;
00095     }
00096     data->push_back(col);
00097   }  
00098 }

template<class T>
void L1EmulBias::ModifyCollection ( std::auto_ptr< T > &  data,
const edm::Handle< T >  emul 
) [inline]

Definition at line 72 of file L1EmulBias.h.

References edm::Handle< T >::product().

Referenced by produce().

00072                                                                                {
00073   data = (std::auto_ptr<T>)(const_cast<T*>(emul.product()));
00074 } 

void L1EmulBias::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [protected, virtual]

list the emulated collections

get the emulated collections

assert collection validity

declare the data collections

fill data as modified emul collections

append data into event

Implements edm::EDProducer.

Definition at line 117 of file L1EmulBias.cc.

References GenMuonPlsPt100GeV_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DTF, dedefs::DTP, dedefs::ETP, flush(), dedefs::GCT, edm::Event::getByLabel(), dedefs::GLT, GMT, dedefs::HTP, instName, edm::Handle< T >::isValid(), label, dedefs::LTC, m_DEsource, m_doSys, ModifyCollection(), edm::Event::put(), dedefs::RCT, dedefs::RPC, and verbose().

00117                                                                  {
00118   
00119   if(verbose())
00120     std::cout << "L1EmulBias::produce...\n" << std::flush; 
00121 
00123   edm::Handle<EcalTrigPrimDigiCollection>       ecal_tp_emul;
00124   edm::Handle<HcalTrigPrimDigiCollection>       hcal_tp_emul;
00125   edm::Handle<L1CaloEmCollection>               rct_em_emul;
00126   edm::Handle<L1CaloRegionCollection>           rct_rgn_emul;
00127   edm::Handle<L1GctEmCandCollection>            gct_isolaem_emul;
00128   edm::Handle<L1GctEmCandCollection>            gct_noisoem_emul;
00129   edm::Handle<L1GctJetCandCollection>           gct_cenjets_emul;
00130   edm::Handle<L1GctJetCandCollection>           gct_forjets_emul;
00131   edm::Handle<L1GctJetCandCollection>           gct_taujets_emul;
00132   edm::Handle<L1MuDTChambPhContainer>           dtp_ph_emul;
00133   edm::Handle<L1MuDTChambThContainer>           dtp_th_emul;
00134   edm::Handle<L1MuRegionalCandCollection>       dtf_emul;
00135   edm::Handle<L1MuDTTrackContainer>             dtf_trk_emul;
00136   edm::Handle<CSCCorrelatedLCTDigiCollection>   ctp_emul;
00137   edm::Handle<L1MuRegionalCandCollection>       ctf_emul;
00138   edm::Handle<L1CSCTrackCollection>             ctf_trk_emul;
00139   edm::Handle<L1MuRegionalCandCollection>       rpc_cen_emul;
00140   edm::Handle<L1MuRegionalCandCollection>       rpc_for_emul;
00141   edm::Handle<LTCDigiCollection>                ltc_emul;
00142   edm::Handle<L1MuGMTCandCollection>            gmt_emul;
00143   edm::Handle<L1MuGMTReadoutCollection>         gmt_rdt_emul;    
00144   edm::Handle<L1GlobalTriggerReadoutRecord>     gt_em_emul;
00145   edm::Handle<L1GlobalTriggerReadoutRecord>     glt_rdt_emul;
00146   edm::Handle<L1GlobalTriggerEvmReadoutRecord>  glt_evm_emul;
00147   edm::Handle<L1GlobalTriggerObjectMapRecord>   glt_obj_emul;
00148 
00150   if(m_doSys[ETP]) iEvent.getByLabel(m_DEsource[ETP][0].label(),instName[ETP][0],    ecal_tp_emul);
00151   if(m_doSys[HTP]) iEvent.getByLabel(m_DEsource[HTP][0].label(),instName[HTP][0],    hcal_tp_emul);
00152   if(m_doSys[RCT]) iEvent.getByLabel(m_DEsource[RCT][0].label(),instName[RCT][0],     rct_em_emul);
00153   if(m_doSys[RCT]) iEvent.getByLabel(m_DEsource[RCT][0].label(),instName[RCT][0],    rct_rgn_emul);
00154   if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][0],gct_isolaem_emul);
00155   if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][1],gct_noisoem_emul);
00156   if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][2],gct_cenjets_emul);
00157   if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][3],gct_forjets_emul);
00158   if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][4],gct_taujets_emul);
00159   if(m_doSys[DTP]) iEvent.getByLabel(m_DEsource[DTP][0].label(),instName[DTP][0],     dtp_ph_emul);
00160   if(m_doSys[DTP]) iEvent.getByLabel(m_DEsource[DTP][0].label(),instName[DTP][0],     dtp_th_emul);
00161   if(m_doSys[DTF]) iEvent.getByLabel(m_DEsource[DTF][0].label(),instName[DTF][0],        dtf_emul);
00162   if(m_doSys[DTF]) iEvent.getByLabel(m_DEsource[DTF][0].label(),instName[DTF][1],    dtf_trk_emul);
00163   if(m_doSys[CTP]) iEvent.getByLabel(m_DEsource[CTP][0].label(),instName[CTP][0],        ctp_emul);
00164   if(m_doSys[CTF]) iEvent.getByLabel(m_DEsource[CTF][0].label(),instName[CTF][0],        ctf_emul);
00165   if(m_doSys[CTF]) iEvent.getByLabel(m_DEsource[CTF][1].label(),instName[CTF][1],    ctf_trk_emul);
00166   if(m_doSys[RPC]) iEvent.getByLabel(m_DEsource[RPC][0].label(),instName[RPC][0],    rpc_cen_emul);
00167   if(m_doSys[RPC]) iEvent.getByLabel(m_DEsource[RPC][0].label(),instName[RPC][1],    rpc_for_emul);
00168   if(m_doSys[LTC]) iEvent.getByLabel(m_DEsource[LTC][0].label(),instName[LTC][0],        ltc_emul);
00169   if(m_doSys[GMT]) iEvent.getByLabel(m_DEsource[GMT][0].label(),instName[GMT][0],        gmt_emul);
00170   if(m_doSys[GMT]) iEvent.getByLabel(m_DEsource[GMT][0].label(),instName[GMT][0],    gmt_rdt_emul);
00171   if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0],    glt_rdt_emul);
00172   if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0],    glt_evm_emul);
00173   if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0],    glt_obj_emul);
00174 
00176   if(m_doSys[ETP]) assert(    ecal_tp_emul.isValid());
00177   if(m_doSys[HTP]) assert(    hcal_tp_emul.isValid());
00178   if(m_doSys[RCT]) assert(     rct_em_emul.isValid());
00179   if(m_doSys[RCT]) assert(    rct_rgn_emul.isValid());
00180   if(m_doSys[GCT]) assert(gct_isolaem_emul.isValid());
00181   if(m_doSys[GCT]) assert(gct_noisoem_emul.isValid());
00182   if(m_doSys[GCT]) assert(gct_cenjets_emul.isValid());
00183   if(m_doSys[GCT]) assert(gct_forjets_emul.isValid());
00184   if(m_doSys[GCT]) assert(gct_taujets_emul.isValid());
00185   if(m_doSys[DTP]) assert(     dtp_ph_emul.isValid());
00186   if(m_doSys[DTP]) assert(     dtp_th_emul.isValid());
00187   if(m_doSys[DTF]) assert(        dtf_emul.isValid());
00188   if(m_doSys[DTF]) assert(    dtf_trk_emul.isValid());
00189   if(m_doSys[CTP]) assert(        ctp_emul.isValid());
00190   if(m_doSys[CTF]) assert(        ctf_emul.isValid());
00191   if(m_doSys[CTF]) assert(    ctf_trk_emul.isValid());
00192   if(m_doSys[RPC]) assert(    rpc_cen_emul.isValid());
00193   if(m_doSys[RPC]) assert(    rpc_for_emul.isValid());
00194   if(m_doSys[LTC]) assert(        ltc_emul.isValid());
00195   if(m_doSys[GMT]) assert(        gmt_emul.isValid());
00196   if(m_doSys[GMT]) assert(    gmt_rdt_emul.isValid());
00197   if(m_doSys[GLT]) assert(    glt_rdt_emul.isValid());
00198   if(m_doSys[GLT]) assert(    glt_evm_emul.isValid());
00199   if(m_doSys[GLT]) assert(    glt_obj_emul.isValid());
00200 
00202   std::auto_ptr<EcalTrigPrimDigiCollection>         ecal_tp_data(new EcalTrigPrimDigiCollection     );
00203   std::auto_ptr<HcalTrigPrimDigiCollection>         hcal_tp_data(new HcalTrigPrimDigiCollection     );
00204   std::auto_ptr<L1CaloEmCollection>                  rct_em_data(new L1CaloEmCollection             );
00205   std::auto_ptr<L1CaloRegionCollection>             rct_rgn_data(new L1CaloRegionCollection         );
00206   std::auto_ptr<L1GctEmCandCollection>          gct_isolaem_data(new L1GctEmCandCollection          ); 
00207   std::auto_ptr<L1GctEmCandCollection>          gct_noisoem_data(new L1GctEmCandCollection          ); 
00208   std::auto_ptr<L1GctJetCandCollection>         gct_cenjets_data(new L1GctJetCandCollection         ); 
00209   std::auto_ptr<L1GctJetCandCollection>         gct_forjets_data(new L1GctJetCandCollection         ); 
00210   std::auto_ptr<L1GctJetCandCollection>         gct_taujets_data(new L1GctJetCandCollection         ); 
00211   std::auto_ptr<L1MuDTChambPhContainer>              dtp_ph_data(new L1MuDTChambPhContainer         );
00212   std::auto_ptr<L1MuDTChambThContainer>              dtp_th_data(new L1MuDTChambThContainer         );
00213   std::auto_ptr<L1MuRegionalCandCollection>             dtf_data(new L1MuRegionalCandCollection     );
00214   std::auto_ptr<L1MuDTTrackContainer>               dtf_trk_data(new L1MuDTTrackContainer           );
00215   std::auto_ptr<CSCCorrelatedLCTDigiCollection>         ctp_data(new CSCCorrelatedLCTDigiCollection );
00216   std::auto_ptr<L1MuRegionalCandCollection>             ctf_data(new L1MuRegionalCandCollection     );
00217   std::auto_ptr<L1CSCTrackCollection>               ctf_trk_data(new L1CSCTrackCollection           );
00218   std::auto_ptr<L1MuRegionalCandCollection>         rpc_cen_data(new L1MuRegionalCandCollection     );
00219   std::auto_ptr<L1MuRegionalCandCollection>         rpc_for_data(new L1MuRegionalCandCollection     );
00220   std::auto_ptr<LTCDigiCollection>                      ltc_data(new LTCDigiCollection              );
00221   std::auto_ptr<L1MuGMTCandCollection>                  gmt_data(new L1MuGMTCandCollection          );
00222   std::auto_ptr<L1MuGMTReadoutCollection>           gmt_rdt_data(new L1MuGMTReadoutCollection       ); 
00223   std::auto_ptr<L1GlobalTriggerReadoutRecord>       glt_rdt_data(new L1GlobalTriggerReadoutRecord   );
00224   std::auto_ptr<L1GlobalTriggerEvmReadoutRecord>    glt_evm_data(new L1GlobalTriggerEvmReadoutRecord);
00225   std::auto_ptr<L1GlobalTriggerObjectMapRecord>     glt_obj_data(new L1GlobalTriggerObjectMapRecord );
00226 
00227   if(verbose())
00228     std::cout << "L1EmulBias::produce - modify...\n" << std::flush; 
00229 
00231   if(m_doSys[ETP]) ModifyCollection(    ecal_tp_data,    ecal_tp_emul);
00232   if(m_doSys[HTP]) ModifyCollection(    hcal_tp_data,    hcal_tp_emul);
00233   if(m_doSys[RCT]) ModifyCollection(     rct_em_data,     rct_em_emul);
00234   if(m_doSys[RCT]) ModifyCollection(    rct_rgn_data,    rct_rgn_emul);
00235   if(m_doSys[GCT]) ModifyCollection(gct_isolaem_data,gct_isolaem_emul);
00236   if(m_doSys[GCT]) ModifyCollection(gct_noisoem_data,gct_noisoem_emul);
00237   if(m_doSys[GCT]) ModifyCollection(gct_cenjets_data,gct_cenjets_emul);
00238   if(m_doSys[GCT]) ModifyCollection(gct_forjets_data,gct_forjets_emul);
00239   if(m_doSys[GCT]) ModifyCollection(gct_taujets_data,gct_taujets_emul);
00240   if(m_doSys[DTP]) ModifyCollection(     dtp_ph_data,     dtp_ph_emul);
00241   if(m_doSys[DTP]) ModifyCollection(     dtp_th_data,     dtp_th_emul);
00242   if(m_doSys[DTF]) ModifyCollection(        dtf_data,        dtf_emul);
00243   if(m_doSys[DTF]) ModifyCollection(    dtf_trk_data,    dtf_trk_emul);
00244   if(m_doSys[CTP]) ModifyCollection(        ctp_data,        ctp_emul);
00245   if(m_doSys[CTF]) ModifyCollection(        ctf_data,        ctf_emul);
00246   if(m_doSys[CTF]) ModifyCollection(    ctf_trk_data,    ctf_trk_emul);
00247   if(m_doSys[RPC]) ModifyCollection(    rpc_cen_data,    rpc_cen_emul);
00248   if(m_doSys[RPC]) ModifyCollection(    rpc_for_data,    rpc_for_emul);
00249   if(m_doSys[LTC]) ModifyCollection(        ltc_data,        ltc_emul);
00250   if(m_doSys[GMT]) ModifyCollection(        gmt_data,        gmt_emul);
00251   if(m_doSys[GMT]) ModifyCollection(    gmt_rdt_data,    gmt_rdt_emul);
00252   if(m_doSys[GLT]) ModifyCollection(    glt_rdt_data,    glt_rdt_emul);
00253   if(m_doSys[GLT]) ModifyCollection(    glt_evm_data,    glt_evm_emul);
00254   if(m_doSys[GLT]) ModifyCollection(    glt_obj_data,    glt_obj_emul);
00255 
00256   if(verbose())
00257     std::cout << "L1EmulBias::produce - put...\n" << std::flush; 
00258 
00260   if(m_doSys[ETP]) iEvent.put(    ecal_tp_data, instName[ETP][0]);
00261   if(m_doSys[HTP]) iEvent.put(    hcal_tp_data, instName[HTP][0]);
00262   if(m_doSys[RCT]) iEvent.put(     rct_em_data, instName[RCT][0]);
00263   if(m_doSys[RCT]) iEvent.put(    rct_rgn_data, instName[RCT][0]);
00264   if(m_doSys[GCT]) iEvent.put(gct_isolaem_data, instName[GCT][0]);
00265   if(m_doSys[GCT]) iEvent.put(gct_noisoem_data, instName[GCT][1]);
00266   if(m_doSys[GCT]) iEvent.put(gct_cenjets_data, instName[GCT][2]);
00267   if(m_doSys[GCT]) iEvent.put(gct_forjets_data, instName[GCT][3]);
00268   if(m_doSys[GCT]) iEvent.put(gct_taujets_data, instName[GCT][4]);
00269   if(m_doSys[DTP]) iEvent.put(     dtp_ph_data, instName[DTP][0]);
00270   if(m_doSys[DTP]) iEvent.put(     dtp_th_data, instName[DTP][0]);
00271   if(m_doSys[DTF]) iEvent.put(        dtf_data, instName[DTF][0]);
00272   if(m_doSys[DTF]) iEvent.put(    dtf_trk_data, instName[DTF][1]);
00273   if(m_doSys[CTP]) iEvent.put(        ctp_data, instName[CTP][0]);
00274   if(m_doSys[CTF]) iEvent.put(        ctf_data, instName[CTF][0]);
00275   if(m_doSys[CTF]) iEvent.put(    ctf_trk_data, instName[CTF][1]);
00276   if(m_doSys[RPC]) iEvent.put(    rpc_cen_data, instName[RPC][0]);
00277   if(m_doSys[RPC]) iEvent.put(    rpc_for_data, instName[RPC][1]);
00278   if(m_doSys[LTC]) iEvent.put(        ltc_data, instName[LTC][0]);
00279   if(m_doSys[GMT]) iEvent.put(        gmt_data, instName[GMT][0]);
00280   if(m_doSys[GMT]) iEvent.put(    gmt_rdt_data, instName[GMT][0]);
00281   if(m_doSys[GLT]) iEvent.put(    glt_rdt_data, instName[GLT][0]);
00282   if(m_doSys[GLT]) iEvent.put(    glt_evm_data, instName[GLT][0]);
00283   if(m_doSys[GLT]) iEvent.put(    glt_obj_data, instName[GLT][0]);
00284 
00285   if(verbose())
00286     std::cout << "L1EmulBias::produce...done.\n" << std::flush; 
00287 
00288 }

int L1EmulBias::verbose ( void   )  [inline, private]

Definition at line 55 of file L1EmulBias.h.

References verbose_.

Referenced by L1EmulBias(), ModifyCollection(), and produce().

00055 {return verbose_;}


Member Data Documentation

std::string L1EmulBias::instName[dedefs::DEnsys][5] [private]

Definition at line 58 of file L1EmulBias.h.

Referenced by L1EmulBias(), and produce().

edm::InputTag L1EmulBias::m_DEsource[dedefs::DEnsys][2] [private]

Definition at line 56 of file L1EmulBias.h.

Referenced by L1EmulBias(), and produce().

bool L1EmulBias::m_doSys[dedefs::DEnsys] [private]

Definition at line 57 of file L1EmulBias.h.

Referenced by L1EmulBias(), and produce().

CLHEP::RandFlat* L1EmulBias::rndFlat_ [private]

Definition at line 59 of file L1EmulBias.h.

Referenced by L1EmulBias(), ModifyCollection(), and ~L1EmulBias().

CLHEP::RandGaussQ* L1EmulBias::rndGaus_ [private]

Definition at line 60 of file L1EmulBias.h.

Referenced by L1EmulBias(), and ~L1EmulBias().

int L1EmulBias::verbose_ [private]

Definition at line 54 of file L1EmulBias.h.

Referenced by L1EmulBias(), and verbose().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:27 2009 for CMSSW by  doxygen 1.5.4