#include <L1EmulBias.h>
Definition at line 38 of file L1EmulBias.h.
L1EmulBias::L1EmulBias | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
assertion/temporary
List of collections to be produced
Definition at line 5 of file L1EmulBias.cc.
References gather_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DEnsys, dedefs::DTF, dedefs::DTP, dedefs::ETP, dedefs::GCT, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), dedefs::GLT, dedefs::GMT, dedefs::HTP, i, j, label, dedefs::LTC, dedefs::RCT, dedefs::RPC, dedefs::SystLabel, and validate_alignment_devdb10_cfg::verbose.
{ verbose_ = iConfig.getUntrackedParameter<int>("VerboseFlag",0); for(int sys=0; sys<DEnsys; sys++) { std::string label = SystLabel[sys] + "source"; m_DEsource[sys][0] = iConfig.getParameter<edm::InputTag>(label); if(sys==CTF) { std::string label = "CTTsource"; m_DEsource[sys][1] = iConfig.getParameter<edm::InputTag>(label); } } std::vector<unsigned int> compColls = iConfig.getUntrackedParameter<std::vector<unsigned int> >("DO_SYSTEM"); for(int i=0; i<DEnsys; i++) m_doSys[i] = compColls[i]; if(verbose()) { std::cout << "[L1EmulBias] do sys? "; for(int i=0; i<DEnsys; i++) std::cout << m_doSys[i]; std::cout << "\n\t"; for(int i=0; i<DEnsys; i++) if(m_doSys[i]) std::cout << SystLabel[i] << " "; std::cout << std::endl; } std::string CollInstName[DEnsys][5]; for(int i=0; i<DEnsys; i++) for(int j=0; j<5; j++) CollInstName[i][j]=std::string(""); CollInstName[GCT][0]+="isoEm" ; CollInstName[GCT][1]+="nonIsoEm"; CollInstName[GCT][2]+="cenJets" ; CollInstName[GCT][3]+="forJets" ; CollInstName[GCT][4]+="tauJets" ; CollInstName[DTF][0]+="DT" ; CollInstName[DTF][1]+="DTTF" ; CollInstName[CTF][0]+="CSC" ; CollInstName[CTF][1]+="" ; CollInstName[RPC][0]+="RPCb" ; CollInstName[RPC][1]+="RPCf" ; for(int i=0; i<DEnsys; i++) for(int j=0; j<5; j++) instName[i][j] = CollInstName[i][j]; if(verbose()) for(int i=0; i<DEnsys; i++) for(int j=0; j<5; j++) if(instName[i][j] != "") std::cout << "[emulbias] " << i << " " << SystLabel[i] << " " << j << " " << instName[i][j] << std::endl; assert(ETP==0); assert(HTP==1); assert(RCT== 2); assert(GCT== 3); assert(DTP==4); assert(DTF==5); assert(CTP== 6); assert(CTF== 7); assert(RPC==8); assert(LTC==9); assert(GMT==10); assert(GLT==11); if(m_doSys[ETP]) produces<EcalTrigPrimDigiCollection> (instName[ETP][0]); if(m_doSys[HTP]) produces<HcalTrigPrimDigiCollection> (instName[HTP][0]); if(m_doSys[RCT]) produces<L1CaloEmCollection> (instName[RCT][0]); if(m_doSys[RCT]) produces<L1CaloRegionCollection> (instName[RCT][0]); if(m_doSys[GCT]) produces<L1GctEmCandCollection> (instName[GCT][0]); if(m_doSys[GCT]) produces<L1GctEmCandCollection> (instName[GCT][1]); if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[GCT][2]); if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[GCT][3]); if(m_doSys[GCT]) produces<L1GctJetCandCollection> (instName[GCT][4]); if(m_doSys[DTP]) produces<L1MuDTChambPhContainer> (instName[DTP][0]); if(m_doSys[DTP]) produces<L1MuDTChambThContainer> (instName[DTP][0]); if(m_doSys[DTF]) produces<L1MuRegionalCandCollection> (instName[DTF][0]); if(m_doSys[DTF]) produces<L1MuDTTrackContainer> (instName[DTF][1]); if(m_doSys[CTP]) produces<CSCCorrelatedLCTDigiCollection> (instName[CTP][0]); if(m_doSys[CTF]) produces<L1MuRegionalCandCollection> (instName[CTF][0]); if(m_doSys[CTF]) produces<L1CSCTrackCollection> (instName[CTF][1]); if(m_doSys[RPC]) produces<L1MuRegionalCandCollection> (instName[RPC][0]); if(m_doSys[RPC]) produces<L1MuRegionalCandCollection> (instName[RPC][1]); if(m_doSys[LTC]) produces<LTCDigiCollection> (instName[LTC][0]); if(m_doSys[GMT]) produces<L1MuGMTCandCollection> (instName[GMT][0]); if(m_doSys[GMT]) produces<L1MuGMTReadoutCollection> (instName[GMT][0]); if(m_doSys[GLT]) produces<L1GlobalTriggerReadoutRecord> (instName[GLT][0]); if(m_doSys[GLT]) produces<L1GlobalTriggerEvmReadoutRecord>(instName[GLT][0]); if(m_doSys[GLT]) produces<L1GlobalTriggerObjectMapRecord> (instName[GLT][0]); edm::Service<edm::RandomNumberGenerator> rng; CLHEP::HepRandomEngine& engine = rng->getEngine(); rndFlat_ = new CLHEP::RandFlat (engine, 0., 1.); rndGaus_ = new CLHEP::RandGaussQ(engine, 0., 1.); if(verbose()) std::cout << "L1EmulBias::L1EmulBias()... done." << std::endl; }
L1EmulBias::~L1EmulBias | ( | ) |
Definition at line 103 of file L1EmulBias.cc.
virtual void L1EmulBias::beginJob | ( | void | ) | [inline, protected, virtual] |
virtual void L1EmulBias::endJob | ( | void | ) | [inline, protected, virtual] |
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< CSCCorrelatedLCTDigiCollection > & | data, |
const edm::Handle< CSCCorrelatedLCTDigiCollection > | emul | ||
) | [inline] |
modify digi
append digi
Definition at line 390 of file L1EmulBias.h.
References CSCCorrelatedLCTDigi::getTrknmb(), and CSCCorrelatedLCTDigi::setTrknmb().
{ //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection; typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt;//map iterator typedef CSCCorrelatedLCTDigiCollection::const_iterator vecIt;//vec iterator //loop over data (map<idx,vec_digi>) for (mapIt mit = emul->begin(); mit != emul->end(); mit++) { //get detector index CSCDetId did = (*mit).first; //get vec_digi range(pair) corresponding to idx of map //CSCCorrelatedLCTDigiCollection::Range ctpRange = emul->get(did) //loop over digi vector (ie between begin and end pointers in range) //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) { for (vecIt vit = emul->get((*mit).first).first; vit != emul->get((*mit).first).second; vit++) { CSCCorrelatedLCTDigi dg = *vit; //dg.clear; uint16_t tn = dg.getTrknmb(); if(tn==2) tn--; dg.setTrknmb(tn); //dg.setTrknmb (dg.getTrknmb ()); //dg.setMPCLink (dg.getMPCLink ()); //dg.setWireGroup(dg.getWireGroup()); data->insertDigi(did,dg); } } }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuGMTReadoutCollection > & | data, |
const edm::Handle< L1MuGMTReadoutCollection > | emul | ||
) | [inline] |
Definition at line 325 of file L1EmulBias.h.
References i, L1MuGMTReadoutRecord::setBxNr(), L1MuRegionalCand::setPtPacked(), and L1MuRegionalCand::setType().
{ typedef std::vector<L1MuGMTReadoutRecord>::const_iterator col_cit; std::vector<L1MuGMTReadoutRecord> col = emul->getRecords(); for(col_cit it = col.begin(); it!=col.end(); it++) { L1MuGMTReadoutRecord rec(it->getBxInEvent()); rec.setBxNr (it->getBxNr ()); rec.setEvNr (it->getEvNr ()); rec.setBCERR(it->getBCERR()); std::auto_ptr<L1MuRegionalCandCollection> new_dttf(new L1MuRegionalCandCollection); std::auto_ptr<L1MuRegionalCandCollection> new_rpcb(new L1MuRegionalCandCollection); std::auto_ptr<L1MuRegionalCandCollection> new_csc (new L1MuRegionalCandCollection); std::auto_ptr<L1MuRegionalCandCollection> new_rpcf(new L1MuRegionalCandCollection); L1MuRegionalCandCollection old_dttf = it->getDTBXCands(); L1MuRegionalCandCollection old_rpcb = it->getBrlRPCCands(); L1MuRegionalCandCollection old_csc = it->getCSCCands(); L1MuRegionalCandCollection old_rpcf = it->getFwdRPCCands(); typedef L1MuRegionalCandCollection::const_iterator ait; for(ait it = old_dttf.begin(); it!=old_dttf.end(); it++) { L1MuRegionalCand cand(*it); if(it->quality()<4) cand.setPtPacked((it->pt_packed()>>2)&0x1f); cand.setType(it->type_idx()); new_dttf->push_back(cand); } for(ait it = old_rpcb.begin(); it!=old_rpcb.end(); it++) { L1MuRegionalCand cand(*it); if(it->quality()<4) cand.setPtPacked((it->pt_packed()>>2)&0x1f); cand.setType(it->type_idx()); new_rpcb->push_back(cand); } for(ait it = old_csc.begin(); it!=old_csc.end(); it++) { L1MuRegionalCand cand(*it); if(it->quality()<4) cand.setPtPacked((it->pt_packed()>>2)&0x1f); cand.setType(it->type_idx()); new_csc->push_back(cand); } for(ait it = old_rpcf.begin(); it!=old_rpcf.end(); it++) { L1MuRegionalCand cand(*it); if(it->quality()<4) cand.setPtPacked((it->pt_packed()>>2)&0x1f); cand.setType(it->type_idx()); new_rpcf->push_back(cand); } for(unsigned i=0; i<old_dttf.size(); i++) rec.setInputCand(i ,new_dttf->at(i));//dt : 0..3 for(unsigned i=0; i<old_rpcb.size(); i++) rec.setInputCand(i+ 4,new_rpcb->at(i));//rpcb: 4..7 for(unsigned i=0; i<old_csc .size(); i++) rec.setInputCand(i+ 8,new_csc ->at(i));//csc : 8..11 for(unsigned i=0; i<old_rpcf.size(); i++) rec.setInputCand(i+12,new_rpcf->at(i));//rpcf:12..15 data->addRecord(rec); } //void addRecord(L1MuGMTReadoutRecord const& rec) { }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< T > & | data, |
const edm::Handle< T > | emul | ||
) |
Definition at line 73 of file L1EmulBias.h.
References edm::Handle< T >::product().
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< LTCDigiCollection > & | data, |
const edm::Handle< LTCDigiCollection > | emul | ||
) | [inline] |
Definition at line 297 of file L1EmulBias.h.
{ typedef std::vector<LTCDigi>::const_iterator col_cit; for(col_cit it=emul->begin(); it!=emul->end(); it++) { data->push_back(*it); //note: raw data accessor missing in dataformats! //data->push_back(LTCDigi(it->data()>>1)); } }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuDTChambThContainer > & | data, |
const edm::Handle< L1MuDTChambThContainer > | emul | ||
) | [inline] |
Definition at line 275 of file L1EmulBias.h.
References j, and testEve_cfg::tracks.
{ typedef std::vector<L1MuDTChambThDigi> Thi_Container; typedef Thi_Container::const_iterator col_cit; Thi_Container* tracks_in = emul->getContainer(); Thi_Container tracks(tracks_in->size()); int uos[7],uqa[7]; for(col_cit it=tracks_in->begin(); it!=tracks_in->end(); it++) { for(int j=0; j<7; j++) { uos[j]=(it->position(j)?0:1); uqa[j]=(it->quality (j)?0:1); } int stnum = it->stNum(); stnum = (stnum>2?stnum-1:stnum); L1MuDTChambThDigi cand(it->bxNum(),it->whNum(),it->scNum(),stnum,uos,uqa); tracks.push_back(cand); } data->setContainer(tracks); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuDTChambPhContainer > & | data, |
const edm::Handle< L1MuDTChambPhContainer > | emul | ||
) | [inline] |
Definition at line 256 of file L1EmulBias.h.
References testEve_cfg::tracks.
{ typedef std::vector<L1MuDTChambPhDigi> Phi_Container; typedef Phi_Container::const_iterator col_it; Phi_Container* tracks_in = emul->getContainer(); Phi_Container tracks(tracks_in->size()); int uqua; for(col_it it=tracks_in->begin(); it!=tracks_in->end(); it++) { uqua = it->code(); // (int)(10*rndFlat_->fire()); uqua = (uqua<2?uqua+1:uqua); L1MuDTChambPhDigi cand(it->bxNum(),it->whNum(),it->scNum(),it->stNum(), it->phi(),it->phiB(),uqua,it->Ts2Tag(),it->BxCnt() ); tracks.push_back(cand); } data->setContainer(tracks); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuDTTrackContainer > & | data, |
const edm::Handle< L1MuDTTrackContainer > | emul | ||
) | [inline] |
Definition at line 226 of file L1EmulBias.h.
References L1MuRegionalCand::setPtPacked(), L1MuRegionalCand::setQualityPacked(), L1MuRegionalCand::setType(), and testEve_cfg::tracks.
{ typedef std::vector<L1MuDTTrackCand> TrackContainer; typedef TrackContainer::const_iterator col_cit; TrackContainer* tracks_in = emul->getContainer(); TrackContainer tracks; for(col_cit it = tracks_in->begin(); it!=tracks_in->end(); it++) { L1MuDTTrackCand cand(*it); cand.setType(it->type_idx()); unsigned pt = it->pt_packed(); //0..31 unsigned qua = it->quality(); //0..7 if(qua<4) { cand.setPtPacked((pt>>2)&0x1f); cand.setQualityPacked((qua<<1)&0x07); } tracks.push_back(cand); } data->setContainer(tracks); /* few alternatives... unsigned phip = it->phi_packed(); unsigned raw = it->getDataWord(); uint16_t rdata = raw; if(2.5<fabs(it->phiValue())<3.0) rdata = raw>>1; L1MuRegionalCand cand(rdata,it->bx()); double rnd = rndFlat_->fire(); */ }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuRegionalCandCollection > & | data, |
const edm::Handle< L1MuRegionalCandCollection > | emul | ||
) | [inline] |
Definition at line 189 of file L1EmulBias.h.
References phi, and L1MuRegionalCand::setPtPacked().
{ typedef L1MuRegionalCandCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { L1MuRegionalCand cand(*it); //unsigned raw = it->getDataWord(); unsigned phi = it->phi_packed(); if(phi>90 && phi<110) cand.setPtPacked( (it->pt_packed())>>1 ); //raw = (raw>>2); //L1MuRegionalCand cand(raw); //cand.setType(it->type_idx()); data->push_back(cand); } /* few alternatives... unsigned pt= it->pt_packed(); //0..31 unsigned int qua = it->quality(); //0..7 if(qua<4){cand.setPtPacked((pt>>2)&0x1f);cand.setQualityPacked((qua<<1)&0x07);} double rnd = rndGaus_->fire(); if(rnd>0.7) { raw_=(raw>>1); cand.setDataWord(raw_); } else if (rnd>0.3) { pt_ *= (int)(1+0.3*rndFlat_->fire()); cand.setPtPacked(pt_); } else cand.reset(); unsigned raw = it->getDataWord(); if(2.5<fabs(it->phiValue())<3.0) rdata = raw>>1; L1MuRegionalCand cand(rdata,it->bx()); */ //L1MuRegionalCand(unsigned dataword = 0, int bx = 0); //L1MuRegionalCand(unsigned type_idx, unsigned phi, unsigned eta, unsigned pt, unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1CaloRegionCollection > & | data, |
const edm::Handle< L1CaloRegionCollection > | emul | ||
) | [inline] |
Definition at line 141 of file L1EmulBias.h.
References runTheMatrix::raw.
{ typedef L1CaloRegionCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { unsigned crate = it->rctCrate(); unsigned raw = it->et(); uint16_t rdata = raw; if(crate<4*rndFlat_->fire()) rdata = raw>>1; L1CaloRegion cand(rdata,it->gctEta(),it->gctPhi(),it->bx()); data->push_back(cand); } //L1CaloRegion(uint16_t data, unsigned ieta, unsigned iphi, int16_t bx); //Note: raw data accessor missing in dataformats! }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1MuGMTCandCollection > & | data, |
const edm::Handle< L1MuGMTCandCollection > | emul | ||
) | [inline] |
Definition at line 308 of file L1EmulBias.h.
{ //typedef std::vector<L1MuGMTCand> L1MuGMTCandCollection; typedef std::vector<L1MuGMTCand>::const_iterator col_cit; for(col_cit it=emul->begin(); it!=emul->end(); it++) { float phiv = it->phiValue(); unsigned dword = it->getDataWord(); if(phiv>2. && phiv<4.) dword = dword>>2; L1MuGMTCand cand(dword,it->bx()); data->push_back(cand); //cand.setPtPacked(cand.ptIndex()>>1); //data->push_back(L1MuGMTCand((it->getDataWord()>>1),it->bx())); } }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1GctEmCandCollection > & | data, |
const edm::Handle< L1GctEmCandCollection > | emul | ||
) | [inline] |
Definition at line 158 of file L1EmulBias.h.
References runTheMatrix::raw, and rndFlat_.
{ typedef L1GctEmCandCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { unsigned raw = it->raw(); uint16_t rdata = raw; if(it->phiIndex()<4*rndFlat_->fire()) //0-17 rdata = raw>>1; L1GctEmCand cand(rdata,it->isolated()); data->push_back(cand); } //etaIndex(), etaSign() : -6 to -0, +0 to +6 //L1GctEmCand(uint16_t data, bool iso); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1CaloEmCollection > & | data, |
const edm::Handle< L1CaloEmCollection > | emul | ||
) | [inline] |
Definition at line 122 of file L1EmulBias.h.
References runTheMatrix::raw.
{ typedef L1CaloEmCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { unsigned crate = it->rctCrate(); unsigned raw = it->raw(); bool iso = it->isolated(); unsigned rdata = raw; if(crate<4*rndFlat_->fire()) rdata = raw>>1; L1CaloEmCand cand(rdata,crate,iso,it->index(),it->bx(),false); data->push_back(cand); } //L1CaloEmCand(uint16_t data, unsigned crate, bool iso); //L1CaloEmCand(uint16_t data, unsigned crate, bool iso, uint16_t index, int16_t bx, bool dummy); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< EcalTrigPrimDigiCollection > & | data, |
const edm::Handle< EcalTrigPrimDigiCollection > | emul | ||
) | [inline] |
Definition at line 78 of file L1EmulBias.h.
References gather_cfg::cout, EcalTriggerPrimitiveSample::raw(), reset(), asciidump::s, EcalTriggerPrimitiveDigi::sample(), EcalTriggerPrimitiveDigi::setSampleValue(), tmp, and verbose().
{ typedef EcalTrigPrimDigiCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { EcalTriggerPrimitiveDigi col(*it); int iphi = it->id().iphi(); bool reset = (iphi>18 && iphi<39);//remove few supermodules for(int s=0; s<5; s++) { uint16_t sample = it->sample(s).raw(); if(sample==0) continue; uint16_t tmp = reset?0:sample; if(reset) tmp = sample>>1; col.setSampleValue(s,tmp); if(verbose() && sample!=0) std::cout << "[emulbias] etp " << *it << "\t sample: " << s << " " << std::hex << sample << " -> " << col.sample(s).raw() << std::dec << std::endl; } data->push_back(col); } }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1GctJetCandCollection > & | data, |
const edm::Handle< L1GctJetCandCollection > | emul | ||
) | [inline] |
Definition at line 174 of file L1EmulBias.h.
References runTheMatrix::raw, and rndFlat_.
{ typedef L1GctJetCandCollection::const_iterator col_cit; for(col_cit it = emul->begin(); it!=emul->end(); it++) { unsigned raw = it->raw(); uint16_t rdata = raw; if(it->phiIndex()<4*rndFlat_->fire()) //0-17 rdata = raw>>1; L1GctJetCand cand(rdata,it->isTau(),it->isForward()); data->push_back(cand); } //L1GctJetCand(uint16_t data, bool isTau, bool isFor); }
void L1EmulBias::ModifyCollection | ( | std::auto_ptr< L1CSCTrackCollection > & | data, |
const edm::Handle< L1CSCTrackCollection > | emul | ||
) | [inline] |
Definition at line 420 of file L1EmulBias.h.
References CSCCorrelatedLCTDigi::getTrknmb(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality(), L1MuRegionalCand::setPtPacked(), CSCCorrelatedLCTDigi::setTrknmb(), L1MuRegionalCand::setType(), and L1MuRegionalCand::type_idx().
{ typedef L1CSCTrackCollection::const_iterator col_cit; //typedef std::vector<L1CSCTrack> L1CSCTrackCollection; //typedef std::pair<csc::L1Track,CSCCorrelatedLCTDigiCollection> L1CSCTrack; //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection; typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt;//map iterator typedef CSCCorrelatedLCTDigiCollection::const_iterator vecIt;//vec iterator CSCCorrelatedLCTDigiCollection_ ctf_trk_data_v, ctf_trk_emul_v; //vector //loop over csc-tracks (ie pairs<l1track,digi_vec>) for(col_cit tcit=emul->begin(); tcit!=emul->end(); tcit++) { csc::L1Track l1trk = tcit->first; if(l1trk.quality()<4) l1trk.setPtPacked((l1trk.pt_packed()>>2)&0x1f); l1trk.setType(l1trk.type_idx()); //L1MuRegionalCand reg(tcit->first.getDataWord(), tcit->first.bx()); std::auto_ptr<CSCCorrelatedLCTDigiCollection> dgcoll(new CSCCorrelatedLCTDigiCollection); CSCCorrelatedLCTDigiCollection ldc = tcit->second; //muondigicollection=map //get the lct-digi-collection (ie muon-digi-collection) //loop over data (map<idx,vec_digi>) for (mapIt mit = ldc.begin(); mit != ldc.end(); mit++) { //get vec_digi range(pair) corresponding to idx of map //loop over digi vector (ie between begin and end pointers in range) //CSCCorrelatedLCTDigiCollection::Range ctpRange = ctp_lct_data_->get((*mit).first) CSCDetId did = (*mit).first; //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) { for (vecIt vit = ldc.get((*mit).first).first; vit != ldc.get((*mit).first).second; vit++) { CSCCorrelatedLCTDigi dg = *vit; uint16_t tn = dg.getTrknmb(); if(tn==2) tn--; dg.setTrknmb(tn); dgcoll->insertDigi(did,dg); } } L1CSCTrack l1csctrk = std::make_pair(l1trk,*dgcoll); data->push_back(l1csctrk); } }
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 110 of file L1EmulBias.cc.
References gather_cfg::cout, dedefs::CTF, dedefs::CTP, dedefs::DTF, dedefs::DTP, dedefs::ETP, dedefs::GCT, edm::Event::getByLabel(), dedefs::GLT, dedefs::GMT, dedefs::HTP, edm::HandleBase::isValid(), label, dedefs::LTC, edm::Event::put(), dedefs::RCT, dedefs::RPC, and validate_alignment_devdb10_cfg::verbose.
{ if(verbose()) std::cout << "L1EmulBias::produce...\n" << std::flush; edm::Handle<EcalTrigPrimDigiCollection> ecal_tp_emul; edm::Handle<HcalTrigPrimDigiCollection> hcal_tp_emul; edm::Handle<L1CaloEmCollection> rct_em_emul; edm::Handle<L1CaloRegionCollection> rct_rgn_emul; edm::Handle<L1GctEmCandCollection> gct_isolaem_emul; edm::Handle<L1GctEmCandCollection> gct_noisoem_emul; edm::Handle<L1GctJetCandCollection> gct_cenjets_emul; edm::Handle<L1GctJetCandCollection> gct_forjets_emul; edm::Handle<L1GctJetCandCollection> gct_taujets_emul; edm::Handle<L1MuDTChambPhContainer> dtp_ph_emul; edm::Handle<L1MuDTChambThContainer> dtp_th_emul; edm::Handle<L1MuRegionalCandCollection> dtf_emul; edm::Handle<L1MuDTTrackContainer> dtf_trk_emul; edm::Handle<CSCCorrelatedLCTDigiCollection> ctp_emul; edm::Handle<L1MuRegionalCandCollection> ctf_emul; edm::Handle<L1CSCTrackCollection> ctf_trk_emul; edm::Handle<L1MuRegionalCandCollection> rpc_cen_emul; edm::Handle<L1MuRegionalCandCollection> rpc_for_emul; edm::Handle<LTCDigiCollection> ltc_emul; edm::Handle<L1MuGMTCandCollection> gmt_emul; edm::Handle<L1MuGMTReadoutCollection> gmt_rdt_emul; edm::Handle<L1GlobalTriggerReadoutRecord> gt_em_emul; edm::Handle<L1GlobalTriggerReadoutRecord> glt_rdt_emul; edm::Handle<L1GlobalTriggerEvmReadoutRecord> glt_evm_emul; edm::Handle<L1GlobalTriggerObjectMapRecord> glt_obj_emul; if(m_doSys[ETP]) iEvent.getByLabel(m_DEsource[ETP][0].label(),instName[ETP][0], ecal_tp_emul); if(m_doSys[HTP]) iEvent.getByLabel(m_DEsource[HTP][0].label(),instName[HTP][0], hcal_tp_emul); if(m_doSys[RCT]) iEvent.getByLabel(m_DEsource[RCT][0].label(),instName[RCT][0], rct_em_emul); if(m_doSys[RCT]) iEvent.getByLabel(m_DEsource[RCT][0].label(),instName[RCT][0], rct_rgn_emul); if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][0],gct_isolaem_emul); if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][1],gct_noisoem_emul); if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][2],gct_cenjets_emul); if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][3],gct_forjets_emul); if(m_doSys[GCT]) iEvent.getByLabel(m_DEsource[GCT][0].label(),instName[GCT][4],gct_taujets_emul); if(m_doSys[DTP]) iEvent.getByLabel(m_DEsource[DTP][0].label(),instName[DTP][0], dtp_ph_emul); if(m_doSys[DTP]) iEvent.getByLabel(m_DEsource[DTP][0].label(),instName[DTP][0], dtp_th_emul); if(m_doSys[DTF]) iEvent.getByLabel(m_DEsource[DTF][0].label(),instName[DTF][0], dtf_emul); if(m_doSys[DTF]) iEvent.getByLabel(m_DEsource[DTF][0].label(),instName[DTF][1], dtf_trk_emul); if(m_doSys[CTP]) iEvent.getByLabel(m_DEsource[CTP][0].label(),instName[CTP][0], ctp_emul); if(m_doSys[CTF]) iEvent.getByLabel(m_DEsource[CTF][0].label(),instName[CTF][0], ctf_emul); if(m_doSys[CTF]) iEvent.getByLabel(m_DEsource[CTF][1].label(),instName[CTF][1], ctf_trk_emul); if(m_doSys[RPC]) iEvent.getByLabel(m_DEsource[RPC][0].label(),instName[RPC][0], rpc_cen_emul); if(m_doSys[RPC]) iEvent.getByLabel(m_DEsource[RPC][0].label(),instName[RPC][1], rpc_for_emul); if(m_doSys[LTC]) iEvent.getByLabel(m_DEsource[LTC][0].label(),instName[LTC][0], ltc_emul); if(m_doSys[GMT]) iEvent.getByLabel(m_DEsource[GMT][0].label(),instName[GMT][0], gmt_emul); if(m_doSys[GMT]) iEvent.getByLabel(m_DEsource[GMT][0].label(),instName[GMT][0], gmt_rdt_emul); if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0], glt_rdt_emul); if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0], glt_evm_emul); if(m_doSys[GLT]) iEvent.getByLabel(m_DEsource[GLT][0].label(),instName[GLT][0], glt_obj_emul); if(m_doSys[ETP]) assert( ecal_tp_emul.isValid()); if(m_doSys[HTP]) assert( hcal_tp_emul.isValid()); if(m_doSys[RCT]) assert( rct_em_emul.isValid()); if(m_doSys[RCT]) assert( rct_rgn_emul.isValid()); if(m_doSys[GCT]) assert(gct_isolaem_emul.isValid()); if(m_doSys[GCT]) assert(gct_noisoem_emul.isValid()); if(m_doSys[GCT]) assert(gct_cenjets_emul.isValid()); if(m_doSys[GCT]) assert(gct_forjets_emul.isValid()); if(m_doSys[GCT]) assert(gct_taujets_emul.isValid()); if(m_doSys[DTP]) assert( dtp_ph_emul.isValid()); if(m_doSys[DTP]) assert( dtp_th_emul.isValid()); if(m_doSys[DTF]) assert( dtf_emul.isValid()); if(m_doSys[DTF]) assert( dtf_trk_emul.isValid()); if(m_doSys[CTP]) assert( ctp_emul.isValid()); if(m_doSys[CTF]) assert( ctf_emul.isValid()); if(m_doSys[CTF]) assert( ctf_trk_emul.isValid()); if(m_doSys[RPC]) assert( rpc_cen_emul.isValid()); if(m_doSys[RPC]) assert( rpc_for_emul.isValid()); if(m_doSys[LTC]) assert( ltc_emul.isValid()); if(m_doSys[GMT]) assert( gmt_emul.isValid()); if(m_doSys[GMT]) assert( gmt_rdt_emul.isValid()); if(m_doSys[GLT]) assert( glt_rdt_emul.isValid()); if(m_doSys[GLT]) assert( glt_evm_emul.isValid()); if(m_doSys[GLT]) assert( glt_obj_emul.isValid()); std::auto_ptr<EcalTrigPrimDigiCollection> ecal_tp_data(new EcalTrigPrimDigiCollection ); std::auto_ptr<HcalTrigPrimDigiCollection> hcal_tp_data(new HcalTrigPrimDigiCollection ); std::auto_ptr<L1CaloEmCollection> rct_em_data(new L1CaloEmCollection ); std::auto_ptr<L1CaloRegionCollection> rct_rgn_data(new L1CaloRegionCollection ); std::auto_ptr<L1GctEmCandCollection> gct_isolaem_data(new L1GctEmCandCollection ); std::auto_ptr<L1GctEmCandCollection> gct_noisoem_data(new L1GctEmCandCollection ); std::auto_ptr<L1GctJetCandCollection> gct_cenjets_data(new L1GctJetCandCollection ); std::auto_ptr<L1GctJetCandCollection> gct_forjets_data(new L1GctJetCandCollection ); std::auto_ptr<L1GctJetCandCollection> gct_taujets_data(new L1GctJetCandCollection ); std::auto_ptr<L1MuDTChambPhContainer> dtp_ph_data(new L1MuDTChambPhContainer ); std::auto_ptr<L1MuDTChambThContainer> dtp_th_data(new L1MuDTChambThContainer ); std::auto_ptr<L1MuRegionalCandCollection> dtf_data(new L1MuRegionalCandCollection ); std::auto_ptr<L1MuDTTrackContainer> dtf_trk_data(new L1MuDTTrackContainer ); std::auto_ptr<CSCCorrelatedLCTDigiCollection> ctp_data(new CSCCorrelatedLCTDigiCollection ); std::auto_ptr<L1MuRegionalCandCollection> ctf_data(new L1MuRegionalCandCollection ); std::auto_ptr<L1CSCTrackCollection> ctf_trk_data(new L1CSCTrackCollection ); std::auto_ptr<L1MuRegionalCandCollection> rpc_cen_data(new L1MuRegionalCandCollection ); std::auto_ptr<L1MuRegionalCandCollection> rpc_for_data(new L1MuRegionalCandCollection ); std::auto_ptr<LTCDigiCollection> ltc_data(new LTCDigiCollection ); std::auto_ptr<L1MuGMTCandCollection> gmt_data(new L1MuGMTCandCollection ); std::auto_ptr<L1MuGMTReadoutCollection> gmt_rdt_data(new L1MuGMTReadoutCollection ); std::auto_ptr<L1GlobalTriggerReadoutRecord> glt_rdt_data(new L1GlobalTriggerReadoutRecord ); std::auto_ptr<L1GlobalTriggerEvmReadoutRecord> glt_evm_data(new L1GlobalTriggerEvmReadoutRecord); std::auto_ptr<L1GlobalTriggerObjectMapRecord> glt_obj_data(new L1GlobalTriggerObjectMapRecord ); if(verbose()) std::cout << "L1EmulBias::produce - modify...\n" << std::flush; if(m_doSys[ETP]) ModifyCollection( ecal_tp_data, ecal_tp_emul); if(m_doSys[HTP]) ModifyCollection( hcal_tp_data, hcal_tp_emul); if(m_doSys[RCT]) ModifyCollection( rct_em_data, rct_em_emul); if(m_doSys[RCT]) ModifyCollection( rct_rgn_data, rct_rgn_emul); if(m_doSys[GCT]) ModifyCollection(gct_isolaem_data,gct_isolaem_emul); if(m_doSys[GCT]) ModifyCollection(gct_noisoem_data,gct_noisoem_emul); if(m_doSys[GCT]) ModifyCollection(gct_cenjets_data,gct_cenjets_emul); if(m_doSys[GCT]) ModifyCollection(gct_forjets_data,gct_forjets_emul); if(m_doSys[GCT]) ModifyCollection(gct_taujets_data,gct_taujets_emul); if(m_doSys[DTP]) ModifyCollection( dtp_ph_data, dtp_ph_emul); if(m_doSys[DTP]) ModifyCollection( dtp_th_data, dtp_th_emul); if(m_doSys[DTF]) ModifyCollection( dtf_data, dtf_emul); if(m_doSys[DTF]) ModifyCollection( dtf_trk_data, dtf_trk_emul); if(m_doSys[CTP]) ModifyCollection( ctp_data, ctp_emul); if(m_doSys[CTF]) ModifyCollection( ctf_data, ctf_emul); if(m_doSys[CTF]) ModifyCollection( ctf_trk_data, ctf_trk_emul); if(m_doSys[RPC]) ModifyCollection( rpc_cen_data, rpc_cen_emul); if(m_doSys[RPC]) ModifyCollection( rpc_for_data, rpc_for_emul); if(m_doSys[LTC]) ModifyCollection( ltc_data, ltc_emul); if(m_doSys[GMT]) ModifyCollection( gmt_data, gmt_emul); if(m_doSys[GMT]) ModifyCollection( gmt_rdt_data, gmt_rdt_emul); if(m_doSys[GLT]) ModifyCollection( glt_rdt_data, glt_rdt_emul); if(m_doSys[GLT]) ModifyCollection( glt_evm_data, glt_evm_emul); if(m_doSys[GLT]) ModifyCollection( glt_obj_data, glt_obj_emul); if(verbose()) std::cout << "L1EmulBias::produce - put...\n" << std::flush; if(m_doSys[ETP]) iEvent.put( ecal_tp_data, instName[ETP][0]); if(m_doSys[HTP]) iEvent.put( hcal_tp_data, instName[HTP][0]); if(m_doSys[RCT]) iEvent.put( rct_em_data, instName[RCT][0]); if(m_doSys[RCT]) iEvent.put( rct_rgn_data, instName[RCT][0]); if(m_doSys[GCT]) iEvent.put(gct_isolaem_data, instName[GCT][0]); if(m_doSys[GCT]) iEvent.put(gct_noisoem_data, instName[GCT][1]); if(m_doSys[GCT]) iEvent.put(gct_cenjets_data, instName[GCT][2]); if(m_doSys[GCT]) iEvent.put(gct_forjets_data, instName[GCT][3]); if(m_doSys[GCT]) iEvent.put(gct_taujets_data, instName[GCT][4]); if(m_doSys[DTP]) iEvent.put( dtp_ph_data, instName[DTP][0]); if(m_doSys[DTP]) iEvent.put( dtp_th_data, instName[DTP][0]); if(m_doSys[DTF]) iEvent.put( dtf_data, instName[DTF][0]); if(m_doSys[DTF]) iEvent.put( dtf_trk_data, instName[DTF][1]); if(m_doSys[CTP]) iEvent.put( ctp_data, instName[CTP][0]); if(m_doSys[CTF]) iEvent.put( ctf_data, instName[CTF][0]); if(m_doSys[CTF]) iEvent.put( ctf_trk_data, instName[CTF][1]); if(m_doSys[RPC]) iEvent.put( rpc_cen_data, instName[RPC][0]); if(m_doSys[RPC]) iEvent.put( rpc_for_data, instName[RPC][1]); if(m_doSys[LTC]) iEvent.put( ltc_data, instName[LTC][0]); if(m_doSys[GMT]) iEvent.put( gmt_data, instName[GMT][0]); if(m_doSys[GMT]) iEvent.put( gmt_rdt_data, instName[GMT][0]); if(m_doSys[GLT]) iEvent.put( glt_rdt_data, instName[GLT][0]); if(m_doSys[GLT]) iEvent.put( glt_evm_data, instName[GLT][0]); if(m_doSys[GLT]) iEvent.put( glt_obj_data, instName[GLT][0]); if(verbose()) std::cout << "L1EmulBias::produce...done.\n" << std::flush; }
int L1EmulBias::verbose | ( | ) | [inline, private] |
Definition at line 56 of file L1EmulBias.h.
References verbose_.
Referenced by ModifyCollection().
{return verbose_;}
std::string L1EmulBias::instName[dedefs::DEnsys][5] [private] |
Definition at line 59 of file L1EmulBias.h.
edm::InputTag L1EmulBias::m_DEsource[dedefs::DEnsys][2] [private] |
Definition at line 57 of file L1EmulBias.h.
bool L1EmulBias::m_doSys[dedefs::DEnsys] [private] |
Definition at line 58 of file L1EmulBias.h.
CLHEP::RandFlat* L1EmulBias::rndFlat_ [private] |
Definition at line 60 of file L1EmulBias.h.
Referenced by ModifyCollection().
CLHEP::RandGaussQ* L1EmulBias::rndGaus_ [private] |
Definition at line 61 of file L1EmulBias.h.
int L1EmulBias::verbose_ [private] |
Definition at line 55 of file L1EmulBias.h.
Referenced by verbose().