CMS 3D CMS Logo

GlobalDigisProducer Class Reference

#include <Validation/GlobalDigis/interface/GlobalDigisProducer.h>

Inheritance diagram for GlobalDigisProducer:

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

List of all members.

Public Types

typedef std::vector< double > DoubleVector
typedef std::vector< float > FloatVector
typedef std::vector< intIntVector
typedef std::map< uint32_t,
float, std::less< uint32_t > > 
MapType

Public Member Functions

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

Private Member Functions

void clear ()
void fillECal (edm::Event &, const edm::EventSetup &)
void fillHCal (edm::Event &, const edm::EventSetup &)
void fillMuon (edm::Event &, const edm::EventSetup &)
void fillTrk (edm::Event &, const edm::EventSetup &)
void storeECal (PGlobalDigi &)
void storeHCal (PGlobalDigi &)
void storeMuon (PGlobalDigi &)
void storeTrk (PGlobalDigi &)

Private Attributes

FloatVector BRL1ADC
IntVector BRL1Col
IntVector BRL1Row
FloatVector BRL2ADC
IntVector BRL2Col
IntVector BRL2Row
FloatVector BRL3ADC
IntVector BRL3Col
IntVector BRL3Row
unsigned int count
FloatVector CSCStripADC
FloatVector CSCWireTime
DoubleVector EBCalAEE
IntVector EBCalmaxPos
FloatVector EBCalSHE
double ECalbarrelADCtoGeV_
edm::InputTag ECalEBSrc_
edm::InputTag ECalEESrc_
double ECalendcapADCtoGeV_
edm::InputTag ECalESSrc_
std::map< int, double,
std::less< int > > 
ECalgainConv_
DoubleVector EECalAEE
IntVector EECalmaxPos
FloatVector EECalSHE
FloatVector ESCalADC0
FloatVector ESCalADC1
FloatVector ESCalADC2
FloatVector ESCalSHE
std::string fName
int frequency
FloatVector FWD1nADC
IntVector FWD1nCol
IntVector FWD1nRow
FloatVector FWD1pADC
IntVector FWD1pCol
IntVector FWD1pRow
FloatVector FWD2nADC
IntVector FWD2nCol
IntVector FWD2nRow
FloatVector FWD2pADC
IntVector FWD2pCol
IntVector FWD2pRow
bool getAllProvenances
FloatVector HBCalAEE
FloatVector HBCalSHE
edm::InputTag HCalDigi_
edm::InputTag HCalSrc_
FloatVector HECalAEE
FloatVector HECalSHE
FloatVector HFCalAEE
FloatVector HFCalSHE
FloatVector HOCalAEE
FloatVector HOCalSHE
std::string label
IntVector MB1Layer
IntVector MB1SLayer
FloatVector MB1Time
IntVector MB2Layer
IntVector MB2SLayer
FloatVector MB2Time
IntVector MB3Layer
IntVector MB3SLayer
FloatVector MB3Time
IntVector MB4Layer
IntVector MB4SLayer
FloatVector MB4Time
edm::InputTag MuCSCStripSrc_
edm::InputTag MuCSCWireSrc_
edm::InputTag MuDTSrc_
bool printProvenanceInfo
edm::InputTag SiPxlSrc_
edm::InputTag SiStripSrc_
FloatVector TECW1ADC
IntVector TECW1Strip
FloatVector TECW2ADC
IntVector TECW2Strip
FloatVector TECW3ADC
IntVector TECW3Strip
FloatVector TECW4ADC
IntVector TECW4Strip
FloatVector TECW5ADC
IntVector TECW5Strip
FloatVector TECW6ADC
IntVector TECW6Strip
FloatVector TECW7ADC
IntVector TECW7Strip
FloatVector TECW8ADC
IntVector TECW8Strip
int theCSCStripPedestalCount
float theCSCStripPedestalSum
FloatVector TIBL1ADC
IntVector TIBL1Strip
FloatVector TIBL2ADC
IntVector TIBL2Strip
FloatVector TIBL3ADC
IntVector TIBL3Strip
FloatVector TIBL4ADC
IntVector TIBL4Strip
FloatVector TIDW1ADC
IntVector TIDW1Strip
FloatVector TIDW2ADC
IntVector TIDW2Strip
FloatVector TIDW3ADC
IntVector TIDW3Strip
FloatVector TOBL1ADC
IntVector TOBL1Strip
FloatVector TOBL2ADC
IntVector TOBL2Strip
FloatVector TOBL3ADC
IntVector TOBL3Strip
FloatVector TOBL4ADC
IntVector TOBL4Strip
int verbosity


Detailed Description

Definition at line 111 of file GlobalDigisProducer.h.


Member Typedef Documentation

typedef std::vector<double> GlobalDigisProducer::DoubleVector

Definition at line 117 of file GlobalDigisProducer.h.

typedef std::vector<float> GlobalDigisProducer::FloatVector

Definition at line 116 of file GlobalDigisProducer.h.

typedef std::vector<int> GlobalDigisProducer::IntVector

Definition at line 118 of file GlobalDigisProducer.h.

typedef std::map<uint32_t,float,std::less<uint32_t> > GlobalDigisProducer::MapType

Definition at line 119 of file GlobalDigisProducer.h.


Constructor & Destructor Documentation

GlobalDigisProducer::GlobalDigisProducer ( const edm::ParameterSet iPSet  )  [explicit]

Definition at line 12 of file GlobalDigisProducer.cc.

References ECalbarrelADCtoGeV_, ECalEBSrc_, ECalEESrc_, ECalendcapADCtoGeV_, ECalESSrc_, ECalgainConv_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalDigi_, HCalSrc_, edm::InputTag::instance(), edm::InputTag::label(), label, MuCSCStripSrc_, MuCSCWireSrc_, MuDTSrc_, printProvenanceInfo, SiPxlSrc_, SiStripSrc_, and verbosity.

00012                                                                      :
00013   fName(""), verbosity(0), frequency(0), label(""), getAllProvenances(false),
00014   printProvenanceInfo(false), theCSCStripPedestalSum(0),
00015   theCSCStripPedestalCount(0), count(0)
00016 {
00017   std::string MsgLoggerCat = "GlobalDigisProducer_GlobalDigisProducer";
00018 
00019   // get information from parameter set
00020   fName = iPSet.getUntrackedParameter<std::string>("Name");
00021   verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
00022   frequency = iPSet.getUntrackedParameter<int>("Frequency");
00023   label = iPSet.getParameter<std::string>("Label");
00024   edm::ParameterSet m_Prov =
00025     iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
00026   getAllProvenances = 
00027     m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
00028   printProvenanceInfo = 
00029     m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
00030 
00031   //get Labels to use to extract information
00032   ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
00033   ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
00034   ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
00035   HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
00036   HCalDigi_ = iPSet.getParameter<edm::InputTag>("HCalDigi");
00037   SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc"); 
00038   SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc");
00039   MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc");
00040   MuCSCStripSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCStripSrc");
00041   MuCSCWireSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCWireSrc");
00042 
00043   // use value of first digit to determine default output level (inclusive)
00044   // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
00045   verbosity %= 10;
00046 
00047   // create persistent object
00048   produces<PGlobalDigi>(label);
00049 
00050   // print out Parameter Set information being used
00051   if (verbosity >= 0) {
00052     edm::LogInfo(MsgLoggerCat) 
00053       << "\n===============================\n"
00054       << "Initialized as EDProducer with parameter values:\n"
00055       << "    Name          = " << fName << "\n"
00056       << "    Verbosity     = " << verbosity << "\n"
00057       << "    Frequency     = " << frequency << "\n"
00058       << "    Label         = " << label << "\n"
00059       << "    GetProv       = " << getAllProvenances << "\n"
00060       << "    PrintProv     = " << printProvenanceInfo << "\n"
00061       << "    ECalEBSrc     = " << ECalEBSrc_.label() 
00062       << ":" << ECalEBSrc_.instance() << "\n"
00063       << "    ECalEESrc     = " << ECalEESrc_.label() 
00064       << ":" << ECalEESrc_.instance() << "\n"
00065       << "    ECalESSrc     = " << ECalESSrc_.label() 
00066       << ":" << ECalESSrc_.instance() << "\n"
00067       << "    HCalSrc       = " << HCalSrc_.label() 
00068       << ":" << HCalSrc_.instance() << "\n"
00069       << "    HCalDigi       = " << HCalDigi_.label() 
00070       << ":" << HCalDigi_.instance() << "\n"
00071       << "    SiStripSrc    = " << SiStripSrc_.label() 
00072       << ":" << SiStripSrc_.instance() << "\n" 
00073       << "    SiPixelSrc    = " << SiPxlSrc_.label()
00074       << ":" << SiPxlSrc_.instance() << "\n"
00075       << "    MuDTSrc       = " << MuDTSrc_.label()
00076       << ":" << MuDTSrc_.instance() << "\n"
00077       << "    MuCSCStripSrc = " << MuCSCStripSrc_.label()
00078       << ":" << MuCSCStripSrc_.instance() << "\n"
00079       << "    MuCSCWireSrc  = " << MuCSCWireSrc_.label()
00080       << ":" << MuCSCWireSrc_.instance() << "\n"
00081       << "===============================\n";
00082   }
00083 
00084   // set default constants
00085   // ECal
00086   ECalgainConv_[0] = 0.;
00087   ECalgainConv_[1] = 1.;
00088   ECalgainConv_[2] = 2.;
00089   ECalgainConv_[3] = 12.;  
00090   ECalbarrelADCtoGeV_ = 0.035;
00091   ECalendcapADCtoGeV_ = 0.06;
00092 
00093 }

GlobalDigisProducer::~GlobalDigisProducer (  )  [virtual]

Definition at line 95 of file GlobalDigisProducer.cc.

00096 {
00097 }


Member Function Documentation

void GlobalDigisProducer::beginJob ( const edm::EventSetup iSetup  )  [virtual]

Reimplemented from edm::EDProducer.

Definition at line 99 of file GlobalDigisProducer.cc.

References clear(), ECalbarrelADCtoGeV_, ECalendcapADCtoGeV_, ECalgainConv_, EcalMGPAGainRatio::gain12Over6(), EcalMGPAGainRatio::gain6Over1(), edm::EventSetup::get(), EcalADCToGeVConstant::getEBValue(), EcalADCToGeVConstant::getEEValue(), edm::ESHandle< T >::product(), and verbosity.

00100 {
00101   std::string MsgLoggerCat = "GlobalDigisProducer_beginJob";
00102 
00103   // setup calorimeter constants from service
00104   edm::ESHandle<EcalADCToGeVConstant> pAgc;
00105   iSetup.get<EcalADCToGeVConstantRcd>().get(pAgc);
00106   const EcalADCToGeVConstant* agc = pAgc.product();
00107   
00108   EcalMGPAGainRatio * defaultRatios = new EcalMGPAGainRatio();
00109 
00110   ECalgainConv_[0] = 0.;
00111   ECalgainConv_[1] = 1.;
00112   ECalgainConv_[2] = defaultRatios->gain12Over6() ;
00113   ECalgainConv_[3] = ECalgainConv_[2]*(defaultRatios->gain6Over1()) ;
00114 
00115   delete defaultRatios;
00116 
00117   ECalbarrelADCtoGeV_ = agc->getEBValue();
00118   ECalendcapADCtoGeV_ = agc->getEEValue();
00119 
00120   if (verbosity >= 0) {
00121     edm::LogInfo(MsgLoggerCat) 
00122       << "Modified Calorimeter gain constants: g0 = " << ECalgainConv_[0]
00123       << ", g1 = " << ECalgainConv_[1] << ", g2 = " << ECalgainConv_[2]
00124       << ", g3 = " << ECalgainConv_[3];
00125     edm::LogInfo(MsgLoggerCat)
00126       << "Modified Calorimeter ADCtoGeV constants: barrel = " 
00127       << ECalbarrelADCtoGeV_ << ", endcap = " << ECalendcapADCtoGeV_;
00128   }
00129 
00130   // clear storage vectors
00131   clear();
00132   return;
00133 }

void GlobalDigisProducer::clear ( void   )  [private]

Definition at line 1681 of file GlobalDigisProducer.cc.

References BRL1ADC, BRL1Col, BRL1Row, BRL2ADC, BRL2Col, BRL2Row, BRL3ADC, BRL3Col, BRL3Row, CSCStripADC, CSCWireTime, EBCalAEE, EBCalmaxPos, EBCalSHE, EECalAEE, EECalmaxPos, EECalSHE, ESCalADC0, ESCalADC1, ESCalADC2, ESCalSHE, FWD1nADC, FWD1nCol, FWD1nRow, FWD1pADC, FWD1pCol, FWD1pRow, FWD2nADC, FWD2nCol, FWD2nRow, FWD2pADC, FWD2pCol, FWD2pRow, HBCalAEE, HBCalSHE, HECalAEE, HECalSHE, HFCalAEE, HFCalSHE, HOCalAEE, HOCalSHE, MB1Layer, MB1SLayer, MB1Time, MB2Layer, MB2SLayer, MB2Time, MB3Layer, MB3SLayer, MB3Time, MB4Layer, MB4SLayer, MB4Time, TECW1ADC, TECW1Strip, TECW2ADC, TECW2Strip, TECW3ADC, TECW3Strip, TECW4ADC, TECW4Strip, TECW5ADC, TECW5Strip, TECW6ADC, TECW6Strip, TECW7ADC, TECW7Strip, TECW8ADC, TECW8Strip, TIBL1ADC, TIBL1Strip, TIBL2ADC, TIBL2Strip, TIBL3ADC, TIBL3Strip, TIBL4ADC, TIBL4Strip, TIDW1ADC, TIDW1Strip, TIDW2ADC, TIDW2Strip, TIDW3ADC, TIDW3Strip, TOBL1ADC, TOBL1Strip, TOBL2ADC, TOBL2Strip, TOBL3ADC, TOBL3Strip, TOBL4ADC, TOBL4Strip, and verbosity.

Referenced by beginJob(), and produce().

01682 {
01683   std::string MsgLoggerCat = "GlobalDigisProducer_clear";
01684 
01685   if (verbosity > 0)
01686     edm::LogInfo(MsgLoggerCat)
01687       << "Clearing event holders"; 
01688 
01689   // reset electromagnetic info
01690   // EE info
01691   EECalmaxPos.clear(); 
01692   EECalAEE.clear(); 
01693   EECalSHE.clear();
01694   // EB info
01695   EBCalmaxPos.clear(); 
01696   EBCalAEE.clear(); 
01697   EBCalSHE.clear();
01698   // ES info
01699   ESCalADC0.clear();
01700   ESCalADC1.clear();
01701   ESCalADC2.clear();
01702   ESCalSHE.clear();
01703 
01704   // reset HCal Info
01705   HBCalAEE.clear();
01706   HBCalSHE.clear();
01707   HECalAEE.clear();
01708   HECalSHE.clear();
01709   HOCalAEE.clear();
01710   HOCalSHE.clear();
01711   HFCalAEE.clear();
01712   HFCalSHE.clear();  
01713 
01714   // reset Track Info
01715   TIBL1ADC.clear(); 
01716   TIBL2ADC.clear(); 
01717   TIBL3ADC.clear(); 
01718   TIBL4ADC.clear();
01719   TIBL1Strip.clear(); 
01720   TIBL2Strip.clear(); 
01721   TIBL3Strip.clear(); 
01722   TIBL4Strip.clear();
01723   
01724   TOBL1ADC.clear(); 
01725   TOBL2ADC.clear(); 
01726   TOBL3ADC.clear(); 
01727   TOBL4ADC.clear();
01728   TOBL1Strip.clear(); 
01729   TOBL2Strip.clear(); 
01730   TOBL3Strip.clear(); 
01731   TOBL4Strip.clear();
01732   
01733   TIDW1ADC.clear(); 
01734   TIDW2ADC.clear(); 
01735   TIDW3ADC.clear();
01736   TIDW1Strip.clear(); 
01737   TIDW2Strip.clear(); 
01738   TIDW3Strip.clear();
01739   
01740   TECW1ADC.clear(); 
01741   TECW2ADC.clear(); 
01742   TECW3ADC.clear(); 
01743   TECW4ADC.clear(); 
01744   TECW5ADC.clear(); 
01745   TECW6ADC.clear(); 
01746   TECW7ADC.clear(); 
01747   TECW8ADC.clear();
01748   TECW1Strip.clear(); 
01749   TECW2Strip.clear(); 
01750   TECW3Strip.clear(); 
01751   TECW4Strip.clear(); 
01752   TECW5Strip.clear(); 
01753   TECW6Strip.clear(); 
01754   TECW7Strip.clear(); 
01755   TECW8Strip.clear();
01756 
01757   BRL1ADC.clear();
01758   BRL1Row.clear();
01759   BRL1Col.clear();
01760   BRL2ADC.clear();
01761   BRL2Row.clear();
01762   BRL2Col.clear();
01763   BRL3ADC.clear();
01764   BRL3Row.clear();
01765   BRL3Col.clear();
01766 
01767   FWD1pADC.clear();
01768   FWD1pRow.clear();  
01769   FWD1pCol.clear();
01770   FWD1nADC.clear();
01771   FWD1nRow.clear();  
01772   FWD1nCol.clear();
01773   FWD2pADC.clear();
01774   FWD2pRow.clear();  
01775   FWD2pCol.clear();
01776   FWD2nADC.clear();
01777   FWD2nRow.clear();  
01778   FWD2nCol.clear();
01779 
01780   //muon clear
01781   MB1SLayer.clear();
01782   MB1Time.clear();
01783   MB1Layer.clear();
01784   MB2SLayer.clear();
01785   MB2Time.clear(); 
01786   MB2Layer.clear(); 
01787   MB3SLayer.clear();
01788   MB3Time.clear();
01789   MB3Layer.clear();
01790   MB4SLayer.clear();
01791   MB4Time.clear();
01792   MB4Layer.clear();
01793 
01794   CSCStripADC.clear();
01795 
01796   CSCWireTime.clear();
01797 
01798   return;
01799 }

void GlobalDigisProducer::endJob ( void   )  [virtual]

Reimplemented from edm::EDProducer.

Definition at line 135 of file GlobalDigisProducer.cc.

References count, and verbosity.

00136 {
00137   std::string MsgLoggerCat = "GlobalDigisProducer_endJob";
00138   if (verbosity >= 0)
00139     edm::LogInfo(MsgLoggerCat) 
00140       << "Terminating having processed " << count << " events.";
00141   return;
00142 }

void GlobalDigisProducer::fillECal ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 246 of file GlobalDigisProducer.cc.

References EcalMGPASample::adc(), ESSample::adc(), EBCalAEE, EBCalmaxPos, EBCalSHE, ECalbarrelADCtoGeV_, ECalEBSrc_, ECalEESrc_, ECalESSrc_, ECalgainConv_, EECalAEE, EECalmaxPos, EECalSHE, ESCalADC0, ESCalADC1, ESCalADC2, ESCalSHE, EcalMGPASample::gainId(), edm::Event::getByLabel(), i, EBDataFrame::id(), EEDataFrame::id(), ESDataFrame::id(), int, edm::Handle< T >::isValid(), EcalDataFrame::MAXSAMPLES, ESDataFrame::MAXSAMPLES, edm::Handle< T >::product(), DetId::rawId(), EcalDataFrame::size(), ESDataFrame::size(), and verbosity.

Referenced by produce().

00248 {
00249   std::string MsgLoggerCat = "GlobalDigisProducer_fillECal";
00250 
00251   TString eventout;
00252   if (verbosity > 0)
00253     eventout = "\nGathering info:";  
00254 
00255   // extract crossing frame from event
00256   //edm::Handle<CrossingFrame> crossingFrame;
00257   edm::Handle<CrossingFrame<PCaloHit> > crossingFrame;
00258   //iEvent.getByType(crossingFrame);
00259   //if (!crossingFrame.isValid()) {
00260   //  edm::LogWarning(MsgLoggerCat)
00261   //    << "Unable to crossingFrame in event!";
00262   //  return;
00263   //}
00264 
00266   //extract EB information
00268   bool isBarrel = true;
00269   edm::Handle<EBDigiCollection> EcalDigiEB;  
00270   const EBDigiCollection *EBdigis = 0;
00271   iEvent.getByLabel(ECalEBSrc_, EcalDigiEB);
00272   if (!EcalDigiEB.isValid()) {
00273     edm::LogWarning(MsgLoggerCat)
00274       << "Unable to find EcalDigiEB in event!";
00275     return;
00276   }  
00277   EBdigis = EcalDigiEB.product();
00278   if ( EcalDigiEB->size() == 0) isBarrel = false;
00279 
00280   if (isBarrel) {
00281     
00282     // loop over simhits
00283     const std::string barrelHitsName("EcalHitsEB");
00284     iEvent.getByLabel("mix",barrelHitsName,crossingFrame);
00285     if (!crossingFrame.isValid()) {
00286       edm::LogWarning(MsgLoggerCat)
00287         << "Unable to find cal barrel crossingFrame in event!";
00288       return;
00289     }
00290     //std::auto_ptr<MixCollection<PCaloHit> >
00291     //barrelHits(new MixCollection<PCaloHit>
00292     //           (crossingFrame.product(), barrelHitsName));
00293     std::auto_ptr<MixCollection<PCaloHit> >
00294       barrelHits(new MixCollection<PCaloHit>(crossingFrame.product()));
00295 
00296     // keep track of sum of simhit energy in each crystal
00297     MapType ebSimMap;
00298     for (MixCollection<PCaloHit>::MixItr hitItr 
00299            = barrelHits->begin();
00300          hitItr != barrelHits->end();
00301          ++hitItr) {
00302       
00303       EBDetId ebid = EBDetId(hitItr->id());
00304 
00305       uint32_t crystid = ebid.rawId();
00306       ebSimMap[crystid] += hitItr->energy();
00307     }
00308 
00309     // loop over digis
00310     const EBDigiCollection *barrelDigi = EcalDigiEB.product();
00311 
00312     std::vector<double> ebAnalogSignal;
00313     std::vector<double> ebADCCounts;
00314     std::vector<double> ebADCGains;
00315     ebAnalogSignal.reserve(EBDataFrame::MAXSAMPLES);
00316     ebADCCounts.reserve(EBDataFrame::MAXSAMPLES);
00317     ebADCGains.reserve(EBDataFrame::MAXSAMPLES);
00318 
00319     int i = 0;
00320     for (unsigned int digis=0; digis<EcalDigiEB->size(); ++digis) 
00321     {
00322       //for (std::vector<EBDataFrame>::const_iterator digis =
00323       //   barrelDigi->begin();
00324       // digis != barrelDigi->end();
00325       // ++digis) {
00326 
00327       ++i;
00328 
00329       EBDataFrame ebdf = (*barrelDigi)[digis];
00330       int nrSamples = ebdf.size();
00331       
00332       EBDetId ebid = ebdf.id () ;
00333       //EBDetId ebid = digis->id();
00334 
00335       double Emax = 0;
00336       int Pmax = 0;
00337       double pedestalPreSample = 0.;
00338       double pedestalPreSampleAnalog = 0.;
00339         
00340       for (int sample = 0 ; sample < nrSamples; ++sample) {
00341       //for (int sample = 0; sample < digis->size(); ++sample) {
00342         ebAnalogSignal[sample] = 0.;
00343         ebADCCounts[sample] = 0.;
00344         ebADCGains[sample] = -1.;
00345       }
00346   
00347       // calculate maximum energy and pedestal
00348       for (int sample = 0 ; sample < nrSamples; ++sample) {
00349         //for (int sample = 0; sample < digis->size(); ++sample) {
00350 
00351         EcalMGPASample thisSample = ebdf[sample];
00352         ebADCCounts[sample] = (thisSample.adc());
00353         ebADCGains[sample]  = (thisSample.gainId());
00354         ebAnalogSignal[sample] = 
00355           (ebADCCounts[sample] * ECalgainConv_[(int)ebADCGains[sample]]
00356            * ECalbarrelADCtoGeV_);
00357         if (Emax < ebAnalogSignal[sample]) {
00358           Emax = ebAnalogSignal[sample];
00359           Pmax = sample;
00360         }
00361         if ( sample < 3 ) {
00362           pedestalPreSample += ebADCCounts[sample] ;
00363           pedestalPreSampleAnalog += 
00364             ebADCCounts[sample] * ECalgainConv_[(int)ebADCGains[sample]]
00365             * ECalbarrelADCtoGeV_ ;
00366         }
00367         
00368       }
00369       pedestalPreSample /= 3. ; 
00370       pedestalPreSampleAnalog /= 3. ; 
00371 
00372       // calculate pedestal subtracted digi energy in the crystal
00373       double Erec = Emax - pedestalPreSampleAnalog
00374         * ECalgainConv_[(int)ebADCGains[Pmax]];
00375       
00376       // gather necessary information
00377       EBCalAEE.push_back(Erec);
00378       EBCalSHE.push_back(ebSimMap[ebid.rawId()]);
00379       EBCalmaxPos.push_back(Pmax);
00380     }
00381     
00382     if (verbosity > 1) {
00383       eventout += "\n          Number of EBDigis collected:.............. ";
00384       eventout += i;
00385     }
00386   }
00387 
00389   //extract EE information
00391   bool isEndCap = true;
00392   edm::Handle<EEDigiCollection> EcalDigiEE;  
00393   const EEDigiCollection *EEdigis = 0;
00394   iEvent.getByLabel(ECalEESrc_, EcalDigiEE);
00395   if (!EcalDigiEE.isValid()) {
00396     edm::LogWarning(MsgLoggerCat)
00397       << "Unable to find EcalDigiEE in event!";
00398     return;
00399   }  
00400   EEdigis = EcalDigiEE.product();
00401   if (EcalDigiEE->size() == 0) isEndCap = false;
00402 
00403   if (isEndCap) {
00404 
00405     // loop over simhits
00406     const std::string endcapHitsName("EcalHitsEE");
00407     iEvent.getByLabel("mix",endcapHitsName,crossingFrame);
00408     if (!crossingFrame.isValid()) {
00409       edm::LogWarning(MsgLoggerCat)
00410         << "Unable to find cal endcap crossingFrame in event!";
00411       return;
00412     }
00413     //std::auto_ptr<MixCollection<PCaloHit> >
00414     //  endcapHits(new MixCollection<PCaloHit>
00415     //   (crossingFrame.product(), endcapHitsName));
00416     std::auto_ptr<MixCollection<PCaloHit> >
00417       endcapHits(new MixCollection<PCaloHit>(crossingFrame.product()));
00418 
00419     // keep track of sum of simhit energy in each crystal
00420     MapType eeSimMap;
00421     for (MixCollection<PCaloHit>::MixItr hitItr 
00422            = endcapHits->begin();
00423          hitItr != endcapHits->end();
00424          ++hitItr) {
00425 
00426       EEDetId eeid = EEDetId(hitItr->id());
00427 
00428       uint32_t crystid = eeid.rawId();
00429       eeSimMap[crystid] += hitItr->energy();
00430     }
00431 
00432     // loop over digis
00433     const EEDigiCollection *endcapDigi = EcalDigiEE.product();
00434 
00435     std::vector<double> eeAnalogSignal;
00436     std::vector<double> eeADCCounts;
00437     std::vector<double> eeADCGains;
00438     eeAnalogSignal.reserve(EEDataFrame::MAXSAMPLES);
00439     eeADCCounts.reserve(EEDataFrame::MAXSAMPLES);
00440     eeADCGains.reserve(EEDataFrame::MAXSAMPLES);
00441 
00442     int i = 0;
00443     //for (std::vector<EEDataFrame>::const_iterator digis =
00444     //   endcapDigi->begin();
00445     // digis != endcapDigi->end();
00446     // ++digis) {
00447     for (unsigned int digis=0; digis<EcalDigiEE->size(); ++digis){ 
00448     
00449       ++i;
00450 
00451       EEDataFrame eedf = (*endcapDigi)[digis];
00452       int nrSamples = eedf.size();
00453       
00454       EEDetId eeid = eedf.id () ;
00455       //EEDetId eeid = digis->id();
00456 
00457       double Emax = 0;
00458       int Pmax = 0;
00459       double pedestalPreSample = 0.;
00460       double pedestalPreSampleAnalog = 0.;
00461         
00462       for (int sample = 0 ; sample < nrSamples; ++sample) {
00463       //for (int sample = 0; sample < digis->size(); ++sample) {
00464         eeAnalogSignal[sample] = 0.;
00465         eeADCCounts[sample] = 0.;
00466         eeADCGains[sample] = -1.;
00467       }
00468   
00469       // calculate maximum enery and pedestal
00470       for (int sample = 0 ; sample < nrSamples; ++sample) {
00471         //for (int sample = 0; sample < digis->size(); ++sample) {
00472 
00473         EcalMGPASample thisSample = eedf[sample];
00474 
00475         eeADCCounts[sample] = (thisSample.adc());
00476         eeADCGains[sample]  = (thisSample.gainId());
00477         eeAnalogSignal[sample] = 
00478           (eeADCCounts[sample] * ECalgainConv_[(int)eeADCGains[sample]]
00479            * ECalbarrelADCtoGeV_);
00480         if (Emax < eeAnalogSignal[sample]) {
00481           Emax = eeAnalogSignal[sample];
00482           Pmax = sample;
00483         }
00484         if ( sample < 3 ) {
00485           pedestalPreSample += eeADCCounts[sample] ;
00486           pedestalPreSampleAnalog += 
00487             eeADCCounts[sample] * ECalgainConv_[(int)eeADCGains[sample]]
00488             * ECalbarrelADCtoGeV_ ;
00489         }
00490         
00491       }
00492       pedestalPreSample /= 3. ; 
00493       pedestalPreSampleAnalog /= 3. ; 
00494 
00495       // calculate pedestal subtracted digi energy in the crystal
00496       double Erec = Emax - pedestalPreSampleAnalog
00497         * ECalgainConv_[(int)eeADCGains[Pmax]];
00498 
00499       // gather necessary information
00500       EECalAEE.push_back(Erec);
00501       EECalSHE.push_back(eeSimMap[eeid.rawId()]);
00502       EECalmaxPos.push_back(Pmax);
00503     }
00504     
00505     if (verbosity > 1) {
00506       eventout += "\n          Number of EEDigis collected:.............. ";
00507       eventout += i;
00508     }
00509   }
00510 
00512   //extract ES information
00514   bool isPreshower = true;
00515   edm::Handle<ESDigiCollection> EcalDigiES;  
00516   const ESDigiCollection *ESdigis = 0;
00517   iEvent.getByLabel(ECalESSrc_, EcalDigiES);
00518   if (!EcalDigiES.isValid()) {
00519     edm::LogWarning(MsgLoggerCat)
00520       << "Unable to find EcalDigiES in event!";
00521     return;
00522   }  
00523   ESdigis = EcalDigiES.product();
00524   if (EcalDigiES->size() == 0) isPreshower = false;
00525 
00526   if (isPreshower) {
00527 
00528     // loop over simhits
00529     const std::string preshowerHitsName("EcalHitsES");
00530     iEvent.getByLabel("mix",preshowerHitsName,crossingFrame);
00531     if (!crossingFrame.isValid()) {
00532       edm::LogWarning(MsgLoggerCat)
00533         << "Unable to find cal preshower crossingFrame in event!";
00534       return;
00535     }
00536     //std::auto_ptr<MixCollection<PCaloHit> >
00537     //  preshowerHits(new MixCollection<PCaloHit>
00538     //           (crossingFrame.product(), preshowerHitsName));
00539    std::auto_ptr<MixCollection<PCaloHit> >
00540       preshowerHits(new MixCollection<PCaloHit>(crossingFrame.product()));
00541 
00542     // keep track of sum of simhit energy in each crystal
00543     MapType esSimMap;
00544     for (MixCollection<PCaloHit>::MixItr hitItr 
00545            = preshowerHits->begin();
00546          hitItr != preshowerHits->end();
00547          ++hitItr) {
00548 
00549       ESDetId esid = ESDetId(hitItr->id());
00550 
00551       uint32_t crystid = esid.rawId();
00552       esSimMap[crystid] += hitItr->energy();
00553     }
00554 
00555     // loop over digis
00556     const ESDigiCollection *preshowerDigi = EcalDigiES.product();
00557 
00558     std::vector<double> esADCCounts;
00559     esADCCounts.reserve(ESDataFrame::MAXSAMPLES);
00560 
00561     int i = 0;
00562     for (unsigned int digis=0; digis<EcalDigiES->size(); ++digis) {
00563     //for (std::vector<ESDataFrame>::const_iterator digis =
00564     //   preshowerDigi->begin();
00565     // digis != preshowerDigi->end();
00566     // ++digis) {
00567 
00568       ++i;
00569 
00570 
00571       ESDataFrame esdf = (*preshowerDigi)[digis];
00572       int nrSamples = esdf.size();
00573       
00574       ESDetId esid = esdf.id () ;
00575       // ESDetId esid = digis->id();
00576         
00577       for (int sample = 0 ; sample < nrSamples; ++sample) {
00578       //for (int sample = 0; sample < digis->size(); ++sample) {
00579         esADCCounts[sample] = 0.;
00580       }
00581   
00582       // gether ADC counts
00583       for (int sample = 0 ; sample < nrSamples; ++sample) {
00584 
00585         ESSample thisSample = esdf[sample];
00586         //for (int sample = 0; sample < digis->size(); ++sample) {
00587         esADCCounts[sample] = (thisSample.adc());
00588       }
00589       
00590       ESCalADC0.push_back(esADCCounts[0]);
00591       ESCalADC1.push_back(esADCCounts[1]);
00592       ESCalADC2.push_back(esADCCounts[2]);
00593       ESCalSHE.push_back(esSimMap[esid.rawId()]);
00594     }
00595     
00596     if (verbosity > 1) {
00597       eventout += "\n          Number of ESDigis collected:.............. ";
00598       eventout += i;
00599     }
00600   }
00601 
00602   if (verbosity > 0)
00603     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00604 
00605   return;
00606 }

void GlobalDigisProducer::fillHCal ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 658 of file GlobalDigisProducer.cc.

References HcalCoderDb::adc2fC(), detId, edm::EventSetup::get(), edm::Event::getByLabel(), HBCalAEE, HBCalSHE, HCalDigi_, HCalSrc_, HECalAEE, HECalSHE, HFCalAEE, HFCalSHE, HOCalAEE, HOCalSHE, edm::Handle< T >::isValid(), edm::ESHandle< T >::isValid(), HcalCalibrations::pedestal(), edm::Handle< T >::product(), DetId::rawId(), sdHcalBrl, sdHcalEC, sdHcalFwd, sdHcalOut, CaloSamples::size(), and verbosity.

Referenced by produce().

00660 {
00661   std::string MsgLoggerCat = "GlobalDigisProducer_fillHCal";
00662 
00663   TString eventout;
00664   if (verbosity > 0)
00665     eventout = "\nGathering info:";  
00666 
00667   // get calibration info
00668   edm::ESHandle<HcalDbService> HCalconditions;
00669   iSetup.get<HcalDbRecord>().get(HCalconditions);
00670   if (!HCalconditions.isValid()) {
00671     edm::LogWarning(MsgLoggerCat)
00672       << "Unable to find HCalconditions in event!";
00673     return;
00674   } 
00675   const HcalQIEShape *shape = HCalconditions->getHcalShape();
00676   //HcalCalibrations calibrations;
00677   CaloSamples tool;
00678 
00680   // extract simhit info
00682   edm::Handle<edm::PCaloHitContainer> hcalHits;
00683   iEvent.getByLabel(HCalSrc_,hcalHits);
00684   if (!hcalHits.isValid()) {
00685     edm::LogWarning(MsgLoggerCat)
00686       << "Unable to find hcalHits in event!";
00687     return;
00688   }  
00689   const edm::PCaloHitContainer *simhitResult = hcalHits.product();
00690   
00691   MapType fHBEnergySimHits;
00692   MapType fHEEnergySimHits;
00693   MapType fHOEnergySimHits;
00694   MapType fHFEnergySimHits;
00695   for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin();
00696        simhits != simhitResult->end();
00697        ++simhits) {
00698     
00699     HcalDetId detId(simhits->id());
00700     uint32_t cellid = detId.rawId();
00701 
00702     if (detId.subdet() == sdHcalBrl){  
00703       fHBEnergySimHits[cellid] += simhits->energy(); 
00704     }
00705     if (detId.subdet() == sdHcalEC){  
00706       fHEEnergySimHits[cellid] += simhits->energy(); 
00707     }    
00708     if (detId.subdet() == sdHcalOut){  
00709       fHOEnergySimHits[cellid] += simhits->energy(); 
00710     }    
00711     if (detId.subdet() == sdHcalFwd){  
00712       fHFEnergySimHits[cellid] += simhits->energy(); 
00713     }    
00714   }
00715 
00717   // get HBHE information
00719   edm::Handle<edm::SortedCollection<HBHEDataFrame> > hbhe;
00720   iEvent.getByLabel(HCalDigi_,hbhe);
00721   if (!hbhe.isValid()) {
00722     edm::LogWarning(MsgLoggerCat)
00723       << "Unable to find HBHEDataFrame in event!";
00724     return;
00725   }    
00726   edm::SortedCollection<HBHEDataFrame>::const_iterator ihbhe;
00727   
00728   int iHB = 0;
00729   int iHE = 0; 
00730   for (ihbhe = hbhe->begin(); ihbhe != hbhe->end(); ++ihbhe) {
00731     HcalDetId cell(ihbhe->id()); 
00732 
00733     if ((cell.subdet() == sdHcalBrl) || (cell.subdet() == sdHcalEC)) {
00734       
00735       //HCalconditions->makeHcalCalibration(cell, &calibrations);
00736       const HcalCalibrations& calibrations = 
00737         HCalconditions->getHcalCalibrations(cell);
00738       const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
00739       HcalCoderDb coder(*channelCoder, *shape);
00740       coder.adc2fC(*ihbhe, tool);
00741       
00742       // get HB info
00743       if (cell.subdet() == sdHcalBrl) {
00744 
00745         ++iHB;
00746         float fDigiSum = 0.0;
00747         for  (int ii = 0; ii < tool.size(); ++ii) {
00748           // default ped is 4.5
00749           int capid = (*ihbhe)[ii].capid();
00750           fDigiSum += (tool[ii] - calibrations.pedestal(capid));
00751         }
00752         
00753         HBCalAEE.push_back(fDigiSum);
00754         HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
00755       }
00756         
00757       // get HE info
00758       if (cell.subdet() == sdHcalEC) {
00759         
00760         ++iHE;
00761         float fDigiSum = 0.0;
00762         for  (int ii = 0; ii < tool.size(); ++ii) {
00763           int capid = (*ihbhe)[ii].capid();
00764           fDigiSum += (tool[ii]-calibrations.pedestal(capid));
00765         }
00766         
00767         HECalAEE.push_back(fDigiSum);
00768         HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
00769       }
00770     }
00771   }
00772 
00773   if (verbosity > 1) {
00774     eventout += "\n          Number of HBDigis collected:.............. ";
00775     eventout += iHB;
00776   }
00777   
00778   if (verbosity > 1) {
00779     eventout += "\n          Number of HEDigis collected:.............. ";
00780     eventout += iHE;
00781   }
00782 
00784   // get HO information
00786   edm::Handle<edm::SortedCollection<HODataFrame> > ho;
00787   iEvent.getByLabel(HCalDigi_,ho);
00788   if (!ho.isValid()) {
00789     edm::LogWarning(MsgLoggerCat)
00790       << "Unable to find HODataFrame in event!";
00791     return;
00792   }    
00793   edm::SortedCollection<HODataFrame>::const_iterator iho;
00794   
00795   int iHO = 0; 
00796   for (iho = ho->begin(); iho != ho->end(); ++iho) {
00797     HcalDetId cell(iho->id()); 
00798 
00799     if (cell.subdet() == sdHcalOut) {
00800       
00801       //HCalconditions->makeHcalCalibration(cell, &calibrations);
00802       const HcalCalibrations& calibrations = 
00803         HCalconditions->getHcalCalibrations(cell);
00804       const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
00805       HcalCoderDb coder (*channelCoder, *shape);
00806       coder.adc2fC(*iho, tool);
00807 
00808       ++iHO;
00809       float fDigiSum = 0.0;
00810       for  (int ii = 0; ii < tool.size(); ++ii) {
00811         // default ped is 4.5
00812         int capid = (*iho)[ii].capid();
00813         fDigiSum += (tool[ii] - calibrations.pedestal(capid));
00814       }
00815         
00816       HOCalAEE.push_back(fDigiSum);
00817       HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
00818     }
00819   }
00820 
00821   if (verbosity > 1) {
00822     eventout += "\n          Number of HODigis collected:.............. ";
00823     eventout += iHO;
00824   }
00825 
00827   // get HF information
00829   edm::Handle<edm::SortedCollection<HFDataFrame> > hf;
00830   iEvent.getByLabel(HCalDigi_,hf);
00831   if (!hf.isValid()) {
00832     edm::LogWarning(MsgLoggerCat)
00833       << "Unable to find HFDataFrame in event!";
00834     return;
00835   }    
00836   edm::SortedCollection<HFDataFrame>::const_iterator ihf;
00837   
00838   int iHF = 0; 
00839   for (ihf = hf->begin(); ihf != hf->end(); ++ihf) {
00840     HcalDetId cell(ihf->id()); 
00841 
00842     if (cell.subdet() == sdHcalFwd) {
00843       
00844       //HCalconditions->makeHcalCalibration(cell, &calibrations);
00845       const HcalCalibrations& calibrations = 
00846         HCalconditions->getHcalCalibrations(cell);
00847       const HcalQIECoder *channelCoder = HCalconditions->getHcalCoder(cell);
00848       HcalCoderDb coder (*channelCoder, *shape);
00849       coder.adc2fC(*ihf, tool);
00850 
00851       ++iHF;
00852       float fDigiSum = 0.0;
00853       for  (int ii = 0; ii < tool.size(); ++ii) {
00854         // default ped is 1.73077
00855         int capid = (*ihf)[ii].capid();
00856         fDigiSum += (tool[ii] - calibrations.pedestal(capid));
00857       }
00858         
00859       HFCalAEE.push_back(fDigiSum);
00860       HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
00861     }
00862   }
00863 
00864   if (verbosity > 1) {
00865     eventout += "\n          Number of HFDigis collected:.............. ";
00866     eventout += iHF;
00867   }
00868 
00869   if (verbosity > 0)
00870     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00871 
00872   return;
00873 }

void GlobalDigisProducer::fillMuon ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 1460 of file GlobalDigisProducer.cc.

References CSCStripADC, CSCWireTime, edm::Event::getByLabel(), edm::Handle< T >::isValid(), j, prof2calltree::last, MB1Layer, MB1SLayer, MB1Time, MB2Layer, MB2SLayer, MB2Time, MB3Layer, MB3SLayer, MB3Time, MB4Layer, MB4SLayer, MB4Time, MuCSCStripSrc_, MuCSCWireSrc_, MuDTSrc_, pedestal, range, theCSCStripPedestalCount, theCSCStripPedestalSum, and verbosity.

Referenced by produce().

01462 {
01463   std::string MsgLoggerCat = "GlobalDigisProducer_fillMuon";
01464   
01465   TString eventout;
01466   if (verbosity > 0)
01467     eventout = "\nGathering info:";  
01468 
01469   // get DT information
01470   edm::Handle<DTDigiCollection> dtDigis;  
01471   iEvent.getByLabel(MuDTSrc_, dtDigis);
01472   if (!dtDigis.isValid()) {
01473     edm::LogWarning(MsgLoggerCat)
01474       << "Unable to find dtDigis in event!";
01475     return;
01476   }  
01477 
01478   int nDt = 0;
01479   DTDigiCollection::DigiRangeIterator detUnitIt;
01480   for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); 
01481        ++detUnitIt) {
01482     
01483     const DTLayerId& id = (*detUnitIt).first;
01484     const DTDigiCollection::Range& range = (*detUnitIt).second;
01485 
01486     for (DTDigiCollection::const_iterator digiIt = range.first;
01487          digiIt != range.second;
01488          ++digiIt) {
01489       
01490       ++nDt;
01491       
01492       DTWireId wireId(id,(*digiIt).wire());
01493       if (wireId.station() == 1) {
01494         MB1SLayer.push_back(id.superlayer());
01495         MB1Time.push_back((*digiIt).time());
01496         MB1Layer.push_back(id.layer());
01497       }
01498       if (wireId.station() == 2) {
01499         MB2SLayer.push_back(id.superlayer());
01500         MB2Time.push_back((*digiIt).time());
01501         MB2Layer.push_back(id.layer());
01502       }
01503       if (wireId.station() == 3) {
01504         MB3SLayer.push_back(id.superlayer());
01505         MB3Time.push_back((*digiIt).time());
01506         MB3Layer.push_back(id.layer());
01507       }
01508       if (wireId.station() == 4) {
01509         MB4SLayer.push_back(id.superlayer());
01510         MB4Time.push_back((*digiIt).time());
01511         MB4Layer.push_back(id.layer());
01512       }
01513     }
01514   }
01515                                                                      
01516   if (verbosity > 1) {
01517     eventout += "\n          Number of DtMuonDigis collected:.......... ";
01518     eventout += nDt;
01519   }
01520 
01521   // get CSC Strip information
01522   edm::Handle<CSCStripDigiCollection> strips;  
01523   iEvent.getByLabel(MuCSCStripSrc_, strips);
01524   if (!strips.isValid()) {
01525     edm::LogWarning(MsgLoggerCat)
01526       << "Unable to find muon strips in event!";
01527     return;
01528   }  
01529 
01530   int nStrips = 0;
01531   for (CSCStripDigiCollection::DigiRangeIterator j = strips->begin();
01532        j != strips->end();
01533        ++j) {
01534 
01535     std::vector<CSCStripDigi>::const_iterator digiItr = (*j).second.first;
01536     std::vector<CSCStripDigi>::const_iterator last = (*j).second.second;
01537 
01538     for ( ; digiItr != last; ++digiItr) {
01539       ++nStrips;
01540 
01541       // average pedestals
01542       std::vector<int> adcCounts = digiItr->getADCCounts();
01543       theCSCStripPedestalSum += adcCounts[0];
01544       theCSCStripPedestalSum += adcCounts[1];
01545       theCSCStripPedestalCount += 2;
01546  
01547       // if there are enough pedestal statistics
01548       if (theCSCStripPedestalCount > 100) {
01549         float pedestal = theCSCStripPedestalSum / theCSCStripPedestalCount;
01550         if (adcCounts[5] > (pedestal + 100)) 
01551           CSCStripADC.push_back(adcCounts[4] - pedestal);         
01552       }
01553     }
01554   }
01555                                                         
01556   if (verbosity > 1) {
01557     eventout += "\n          Number of CSCStripDigis collected:........ ";
01558     eventout += nStrips;
01559   }
01560 
01561   // get CSC Wire information
01562   edm::Handle<CSCWireDigiCollection> wires;  
01563   iEvent.getByLabel(MuCSCWireSrc_, wires);
01564   if (!wires.isValid()) {
01565     edm::LogWarning(MsgLoggerCat)
01566       << "Unable to find muon wires in event!";
01567     return;
01568   }  
01569 
01570   int nWires = 0;
01571   for (CSCWireDigiCollection::DigiRangeIterator j = wires->begin();
01572        j != wires->end();
01573        ++j) {
01574 
01575     std::vector<CSCWireDigi>::const_iterator digiItr = (*j).second.first;
01576     std::vector<CSCWireDigi>::const_iterator endDigi = (*j).second.second;
01577 
01578     for ( ; digiItr != endDigi; ++digiItr) {
01579       ++nWires;
01580 
01581       CSCWireTime.push_back(digiItr->getTimeBin());       
01582     }
01583   }
01584                                                         
01585   if (verbosity > 1) {
01586     eventout += "\n          Number of CSCWireDigis collected:......... ";
01587     eventout += nWires;
01588   }
01589 
01590   if (verbosity > 0)
01591     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01592   
01593   return;
01594 }

void GlobalDigisProducer::fillTrk ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 928 of file GlobalDigisProducer.cc.

References edm::DetSetVector< T >::begin(), begin, BRL1ADC, BRL1Col, BRL1Row, BRL2ADC, BRL2Col, BRL2Row, BRL3ADC, BRL3Col, BRL3Row, detId, PXFDetId::disk(), end, edm::DetSetVector< T >::end(), FWD1nADC, FWD1nCol, FWD1nRow, FWD1pADC, FWD1pCol, FWD1pRow, FWD2nADC, FWD2nCol, FWD2nRow, FWD2pADC, FWD2pCol, FWD2pRow, edm::Event::getByLabel(), edm::Handle< T >::isValid(), iter, TIBDetId::layer(), TOBDetId::layer(), PXBDetId::layer(), sdPxlBrl, sdPxlFwd, sdSiTEC, sdSiTIB, sdSiTID, sdSiTOB, PXFDetId::side(), SiPxlSrc_, SiStripSrc_, DetId::subdetId(), TECW1ADC, TECW1Strip, TECW2ADC, TECW2Strip, TECW3ADC, TECW3Strip, TECW4ADC, TECW4Strip, TECW5ADC, TECW5Strip, TECW6ADC, TECW6Strip, TECW7ADC, TECW7Strip, TECW8ADC, TECW8Strip, TIBL1ADC, TIBL1Strip, TIBL2ADC, TIBL2Strip, TIBL3ADC, TIBL3Strip, TIBL4ADC, TIBL4Strip, TIDW1ADC, TIDW1Strip, TIDW2ADC, TIDW2Strip, TIDW3ADC, TIDW3Strip, TOBL1ADC, TOBL1Strip, TOBL2ADC, TOBL2Strip, TOBL3ADC, TOBL3Strip, TOBL4ADC, TOBL4Strip, verbosity, TIDDetId::wheel(), and TECDetId::wheel().

Referenced by produce().

00930 {
00931   std::string MsgLoggerCat = "GlobalDigisProducer_fillTrk";
00932 
00933   TString eventout;
00934   if (verbosity > 0)
00935     eventout = "\nGathering info:";  
00936 
00937   // get strip information
00938   edm::Handle<edm::DetSetVector<SiStripDigi> > stripDigis;  
00939   iEvent.getByLabel(SiStripSrc_, stripDigis);
00940   if (!stripDigis.isValid()) {
00941     edm::LogWarning(MsgLoggerCat)
00942       << "Unable to find stripDigis in event!";
00943     return;
00944   }  
00945 
00946   int nStripBrl = 0, nStripFwd = 0;
00947   edm::DetSetVector<SiStripDigi>::const_iterator DSViter;
00948   for (DSViter = stripDigis->begin(); DSViter != stripDigis->end(); 
00949        ++DSViter) {
00950     unsigned int id = DSViter->id;
00951     DetId detId(id);
00952     edm::DetSet<SiStripDigi>::const_iterator begin = DSViter->data.begin();
00953     edm::DetSet<SiStripDigi>::const_iterator end = DSViter->data.end();
00954     edm::DetSet<SiStripDigi>::const_iterator iter;
00955     
00956     // get TIB
00957     if (detId.subdetId() == sdSiTIB) {
00958       TIBDetId tibid(id);
00959       for (iter = begin; iter != end; ++iter) {
00960         ++nStripBrl;
00961         if (tibid.layer() == 1) {
00962           TIBL1ADC.push_back((*iter).adc());
00963           TIBL1Strip.push_back((*iter).strip());
00964         }
00965         if (tibid.layer() == 2) {
00966           TIBL2ADC.push_back((*iter).adc());
00967           TIBL2Strip.push_back((*iter).strip());
00968         }       
00969         if (tibid.layer() == 3) {
00970           TIBL3ADC.push_back((*iter).adc());
00971           TIBL3Strip.push_back((*iter).strip());
00972         }
00973         if (tibid.layer() == 4) {
00974           TIBL4ADC.push_back((*iter).adc());
00975           TIBL4Strip.push_back((*iter).strip());
00976         }
00977       }
00978     }
00979     
00980     // get TOB
00981     if (detId.subdetId() == sdSiTOB) {
00982       TOBDetId tobid(id);
00983       for (iter = begin; iter != end; ++iter) {
00984         ++nStripBrl;
00985         if (tobid.layer() == 1) {
00986           TOBL1ADC.push_back((*iter).adc());
00987           TOBL1Strip.push_back((*iter).strip());
00988         }
00989         if (tobid.layer() == 2) {
00990           TOBL2ADC.push_back((*iter).adc());
00991           TOBL2Strip.push_back((*iter).strip());
00992         }       
00993         if (tobid.layer() == 3) {
00994           TOBL3ADC.push_back((*iter).adc());
00995           TOBL3Strip.push_back((*iter).strip());
00996         }
00997         if (tobid.layer() == 4) {
00998           TOBL4ADC.push_back((*iter).adc());
00999           TOBL4Strip.push_back((*iter).strip());
01000         }
01001       }
01002     }    
01003     
01004     // get TID
01005     if (detId.subdetId() == sdSiTID) {
01006       TIDDetId tidid(id);
01007       for (iter = begin; iter != end; ++iter) {
01008         ++nStripFwd;
01009         if (tidid.wheel() == 1) {
01010           TIDW1ADC.push_back((*iter).adc());
01011           TIDW1Strip.push_back((*iter).strip());
01012         }
01013         if (tidid.wheel() == 2) {
01014           TIDW2ADC.push_back((*iter).adc());
01015           TIDW2Strip.push_back((*iter).strip());
01016         }
01017         if (tidid.wheel() == 3) {
01018           TIDW3ADC.push_back((*iter).adc());
01019           TIDW3Strip.push_back((*iter).strip());
01020         }
01021       }
01022     }   
01023 
01024     // get TEC
01025     if (detId.subdetId() == sdSiTEC) {
01026       TECDetId tecid(id);
01027       for (iter = begin; iter != end; ++iter) {
01028         ++nStripFwd;
01029         if (tecid.wheel() == 1) {
01030           TECW1ADC.push_back((*iter).adc());
01031           TECW1Strip.push_back((*iter).strip());
01032         }
01033         if (tecid.wheel() == 2) {
01034           TECW2ADC.push_back((*iter).adc());
01035           TECW2Strip.push_back((*iter).strip());
01036         }
01037         if (tecid.wheel() == 3) {
01038           TECW3ADC.push_back((*iter).adc());
01039           TECW3Strip.push_back((*iter).strip());
01040         }
01041         if (tecid.wheel() == 4) {
01042           TECW4ADC.push_back((*iter).adc());
01043           TECW4Strip.push_back((*iter).strip());
01044         }
01045         if (tecid.wheel() == 5) {
01046           TECW5ADC.push_back((*iter).adc());
01047           TECW5Strip.push_back((*iter).strip());
01048         }
01049         if (tecid.wheel() == 6) {
01050           TECW6ADC.push_back((*iter).adc());
01051           TECW6Strip.push_back((*iter).strip());
01052         }
01053         if (tecid.wheel() == 7) {
01054           TECW7ADC.push_back((*iter).adc());
01055           TECW7Strip.push_back((*iter).strip());
01056         }
01057         if (tecid.wheel() == 8) {
01058           TECW8ADC.push_back((*iter).adc());
01059           TECW8Strip.push_back((*iter).strip());
01060         }
01061       }
01062     }     
01063   } // end loop over DataSetVector
01064 
01065   if (verbosity > 1) {
01066     eventout += "\n          Number of BrlStripDigis collected:........ ";
01067     eventout += nStripBrl;
01068   }
01069 
01070   if (verbosity > 1) {
01071     eventout += "\n          Number of FrwdStripDigis collected:....... ";
01072     eventout += nStripFwd;
01073   }
01074 
01075   // get pixel information
01076   edm::Handle<edm::DetSetVector<PixelDigi> > pixelDigis;  
01077   iEvent.getByLabel(SiPxlSrc_, pixelDigis);
01078   if (!pixelDigis.isValid()) {
01079     edm::LogWarning(MsgLoggerCat)
01080       << "Unable to find pixelDigis in event!";
01081     return;
01082   }  
01083 
01084   int nPxlBrl = 0, nPxlFwd = 0;
01085   edm::DetSetVector<PixelDigi>::const_iterator DPViter;
01086   for (DPViter = pixelDigis->begin(); DPViter != pixelDigis->end(); 
01087        ++DPViter) {
01088     unsigned int id = DPViter->id;
01089     DetId detId(id);
01090     edm::DetSet<PixelDigi>::const_iterator begin = DPViter->data.begin();
01091     edm::DetSet<PixelDigi>::const_iterator end = DPViter->data.end();
01092     edm::DetSet<PixelDigi>::const_iterator iter;
01093 
01094     // get Barrel pixels
01095     if (detId.subdetId() == sdPxlBrl) {
01096       PXBDetId bdetid(id);
01097       for (iter = begin; iter != end; ++iter) {
01098         ++nPxlBrl;
01099         if (bdetid.layer() == 1) {
01100           BRL1ADC.push_back((*iter).adc());
01101           BRL1Row.push_back((*iter).row());
01102           BRL1Col.push_back((*iter).column());    
01103         }
01104         if (bdetid.layer() == 2) {
01105           BRL2ADC.push_back((*iter).adc());
01106           BRL2Row.push_back((*iter).row());
01107           BRL2Col.push_back((*iter).column());    
01108         }
01109         if (bdetid.layer() == 3) {
01110           BRL3ADC.push_back((*iter).adc());
01111           BRL3Row.push_back((*iter).row());
01112           BRL3Col.push_back((*iter).column());    
01113         }
01114       }
01115     }
01116 
01117     // get Forward pixels
01118     if (detId.subdetId() == sdPxlFwd) {
01119       PXFDetId fdetid(id);
01120       for (iter = begin; iter != end; ++iter) {
01121         ++nPxlFwd;
01122         if (fdetid.disk() == 1) {
01123           if (fdetid.side() == 1) {
01124             FWD1nADC.push_back((*iter).adc());
01125             FWD1nRow.push_back((*iter).row());
01126             FWD1nCol.push_back((*iter).column());
01127           }
01128           if (fdetid.side() == 2) {
01129             FWD1pADC.push_back((*iter).adc());
01130             FWD1pRow.push_back((*iter).row());
01131             FWD1pCol.push_back((*iter).column());
01132           }
01133         }
01134         if (fdetid.disk() == 2) {
01135           if (fdetid.side() == 1) {
01136             FWD2nADC.push_back((*iter).adc());
01137             FWD2nRow.push_back((*iter).row());
01138             FWD2nCol.push_back((*iter).column());
01139           }
01140           if (fdetid.side() == 2) {
01141             FWD2pADC.push_back((*iter).adc());
01142             FWD2pRow.push_back((*iter).row());
01143             FWD2pCol.push_back((*iter).column());
01144           }
01145         }
01146       }
01147     }
01148   }
01149 
01150   if (verbosity > 1) {
01151     eventout += "\n          Number of BrlPixelDigis collected:........ ";
01152     eventout += nPxlBrl;
01153   }
01154 
01155   if (verbosity > 1) {
01156     eventout += "\n          Number of FrwdPixelDigis collected:....... ";
01157     eventout += nPxlFwd;
01158   }
01159 
01160   if (verbosity > 0)
01161     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01162 
01163   return;
01164 }

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

Implements edm::EDProducer.

Definition at line 144 of file GlobalDigisProducer.cc.

References clear(), count, fillECal(), fillHCal(), fillMuon(), fillTrk(), frequency, edm::Event::getAllProvenance(), getAllProvenances, i, edm::Event::id(), label, printProvenanceInfo, edm::Event::put(), storeECal(), storeHCal(), storeMuon(), storeTrk(), and verbosity.

00146 {
00147   std::string MsgLoggerCat = "GlobalDigisProducer_produce";
00148 
00149   // keep track of number of events processed
00150   ++count;
00151 
00152   // get event id information
00153   int nrun = iEvent.id().run();
00154   int nevt = iEvent.id().event();
00155 
00156   if (verbosity > 0) {
00157     edm::LogInfo(MsgLoggerCat)
00158       << "Processing run " << nrun << ", event " << nevt
00159       << " (" << count << " events total)";
00160   } else if (verbosity == 0) {
00161     if (nevt%frequency == 0 || nevt == 1) {
00162       edm::LogInfo(MsgLoggerCat)
00163         << "Processing run " << nrun << ", event " << nevt
00164         << " (" << count << " events total)";
00165     }
00166   }
00167 
00168   // clear event holders
00169   clear();
00170 
00171   // look at information available in the event
00172   if (getAllProvenances) {
00173 
00174     std::vector<const edm::Provenance*> AllProv;
00175     iEvent.getAllProvenance(AllProv);
00176 
00177     if (verbosity >= 0)
00178       edm::LogInfo(MsgLoggerCat)
00179         << "Number of Provenances = " << AllProv.size();
00180 
00181     if (printProvenanceInfo && (verbosity >= 0)) {
00182       TString eventout("\nProvenance info:\n");      
00183 
00184       for (unsigned int i = 0; i < AllProv.size(); ++i) {
00185         eventout += "\n       ******************************";
00186         eventout += "\n       Module       : ";
00187         //eventout += (AllProv[i]->product).moduleLabel();
00188         eventout += AllProv[i]->moduleLabel();
00189         eventout += "\n       ProductID    : ";
00190         //eventout += (AllProv[i]->product).productID_.id_;
00191         eventout += AllProv[i]->productID().id();
00192         eventout += "\n       ClassName    : ";
00193         //eventout += (AllProv[i]->product).fullClassName_;
00194         eventout += AllProv[i]->className();
00195         eventout += "\n       InstanceName : ";
00196         //eventout += (AllProv[i]->product).productInstanceName_;
00197         eventout += AllProv[i]->productInstanceName();
00198         eventout += "\n       BranchName   : ";
00199         //eventout += (AllProv[i]->product).branchName_;
00200         eventout += AllProv[i]->branchName();
00201       }
00202       eventout += "\n       ******************************\n";
00203       edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00204       printProvenanceInfo = false;
00205     }
00206     getAllProvenances = false;
00207   }
00208 
00209   // call fill functions
00210   // gather Ecal information from event
00211   fillECal(iEvent, iSetup);
00212   // gather Hcal information from event
00213   fillHCal(iEvent, iSetup);
00214   // gather Track information from event
00215   fillTrk(iEvent, iSetup);
00216   // gather Muon information from event
00217   fillMuon(iEvent, iSetup);
00218 
00219   if (verbosity > 0)
00220     edm::LogInfo (MsgLoggerCat)
00221       << "Done gathering data from event.";
00222 
00223   // produce object to put into event
00224   std::auto_ptr<PGlobalDigi> pOut(new PGlobalDigi);
00225 
00226   if (verbosity > 2)
00227     edm::LogInfo (MsgLoggerCat)
00228       << "Saving event contents:";
00229 
00230   // call store functions
00231   // store ECal information in produce
00232   storeECal(*pOut);
00233   // store HCal information in produce
00234   storeHCal(*pOut);
00235   // store Track information in produce
00236   storeTrk(*pOut);
00237   // store Muon information in produce
00238   storeMuon(*pOut);
00239 
00240   // store information in event
00241   iEvent.put(pOut,label);
00242 
00243   return;
00244 }

void GlobalDigisProducer::storeECal ( PGlobalDigi product  )  [private]

Definition at line 608 of file GlobalDigisProducer.cc.

References EBCalAEE, EBCalmaxPos, EBCalSHE, EECalAEE, EECalmaxPos, EECalSHE, ESCalADC0, ESCalADC1, ESCalADC2, ESCalSHE, i, PGlobalDigi::putEBCalDigis(), PGlobalDigi::putEECalDigis(), PGlobalDigi::putESCalDigis(), and verbosity.

Referenced by produce().

00609 {
00610   std::string MsgLoggerCat = "GlobalDigisProducer_storeECal";
00611 
00612   if (verbosity > 2) {
00613     TString eventout("\n         nEBDigis     = ");
00614     eventout += EBCalmaxPos.size();
00615     for (unsigned int i = 0; i < EBCalmaxPos.size(); ++i) {
00616       eventout += "\n      (maxPos, AEE, SHE) = (";
00617       eventout += EBCalmaxPos[i];
00618       eventout += ", ";
00619       eventout += EBCalAEE[i];
00620       eventout += ", ";
00621       eventout += EBCalSHE[i];
00622       eventout += ")";
00623     }
00624     eventout += "\n         nEEDigis     = ";
00625     eventout += EECalmaxPos.size();
00626     for (unsigned int i = 0; i < EECalmaxPos.size(); ++i) {
00627       eventout += "\n      (maxPos, AEE, SHE) = (";
00628       eventout += EECalmaxPos[i];
00629       eventout += ", ";
00630       eventout += EECalAEE[i];
00631       eventout += ", ";
00632       eventout += EECalSHE[i];
00633       eventout += ")";
00634     }
00635     eventout += "\n         nESDigis          = ";
00636     eventout += ESCalADC0.size();
00637     for (unsigned int i = 0; i < ESCalADC0.size(); ++i) {
00638       eventout += "\n      (ADC0, ADC1, ADC2, SHE) = (";
00639       eventout += ESCalADC0[i];
00640       eventout += ", ";
00641       eventout += ESCalADC1[i];
00642       eventout += ", ";
00643       eventout += ESCalADC2[i];
00644       eventout += ", ";
00645       eventout += ESCalSHE[i];
00646       eventout += ")";
00647     }
00648     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00649   }
00650 
00651   product.putEBCalDigis(EBCalmaxPos,EBCalAEE,EBCalSHE);
00652   product.putEECalDigis(EECalmaxPos,EECalAEE,EECalSHE);
00653   product.putESCalDigis(ESCalADC0,ESCalADC1,ESCalADC2,ESCalSHE);
00654 
00655   return;
00656 }

void GlobalDigisProducer::storeHCal ( PGlobalDigi product  )  [private]

Definition at line 875 of file GlobalDigisProducer.cc.

References HBCalAEE, HBCalSHE, HECalAEE, HECalSHE, HFCalAEE, HFCalSHE, HOCalAEE, HOCalSHE, i, PGlobalDigi::putHBCalDigis(), PGlobalDigi::putHECalDigis(), PGlobalDigi::putHFCalDigis(), PGlobalDigi::putHOCalDigis(), and verbosity.

Referenced by produce().

00876 {
00877   std::string MsgLoggerCat = "GlobalDigisProducer_storeHCal";
00878 
00879   if (verbosity > 2) {
00880     TString eventout("\n         nHBDigis     = ");
00881     eventout += HBCalAEE.size();
00882     for (unsigned int i = 0; i < HBCalAEE.size(); ++i) {
00883       eventout += "\n      (AEE, SHE) = (";
00884       eventout += HBCalAEE[i];
00885       eventout += ", ";
00886       eventout += HBCalSHE[i];
00887       eventout += ")";
00888     }
00889     eventout += "\n         nHEDigis     = ";
00890     eventout += HECalAEE.size();
00891     for (unsigned int i = 0; i < HECalAEE.size(); ++i) {
00892       eventout += "\n      (AEE, SHE) = (";
00893       eventout += HECalAEE[i];
00894       eventout += ", ";
00895       eventout += HECalSHE[i];
00896       eventout += ")";
00897     }
00898     eventout += "\n         nHODigis     = ";
00899     eventout += HOCalAEE.size();
00900     for (unsigned int i = 0; i < HOCalAEE.size(); ++i) {
00901       eventout += "\n      (AEE, SHE) = (";
00902       eventout += HOCalAEE[i];
00903       eventout += ", ";
00904       eventout += HOCalSHE[i];
00905       eventout += ")";
00906     }
00907     eventout += "\n         nHFDigis     = ";
00908     eventout += HFCalAEE.size();
00909     for (unsigned int i = 0; i < HFCalAEE.size(); ++i) {
00910       eventout += "\n      (AEE, SHE) = (";
00911       eventout += HFCalAEE[i];
00912       eventout += ", ";
00913       eventout += HFCalSHE[i];
00914       eventout += ")";
00915     }
00916 
00917     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00918   }
00919 
00920   product.putHBCalDigis(HBCalAEE,HBCalSHE);
00921   product.putHECalDigis(HECalAEE,HECalSHE);
00922   product.putHOCalDigis(HOCalAEE,HOCalSHE);
00923   product.putHFCalDigis(HFCalAEE,HFCalSHE);
00924 
00925   return;
00926 }

void GlobalDigisProducer::storeMuon ( PGlobalDigi product  )  [private]

Definition at line 1596 of file GlobalDigisProducer.cc.

References CSCStripADC, CSCWireTime, i, MB1Layer, MB1SLayer, MB1Time, MB2Layer, MB2SLayer, MB2Time, MB3Layer, MB3SLayer, MB3Time, MB4Layer, MB4SLayer, MB4Time, PGlobalDigi::putCSCstripDigis(), PGlobalDigi::putCSCwireDigis(), PGlobalDigi::putMB1Digis(), PGlobalDigi::putMB2Digis(), PGlobalDigi::putMB3Digis(), PGlobalDigi::putMB4Digis(), and verbosity.

Referenced by produce().

01597 {
01598   std::string MsgLoggerCat = "GlobalDigisProducer_storeMuon";
01599   
01600   if (verbosity > 2) {
01601 
01602     // dt output
01603     TString eventout("\n         nMB1     = ");
01604     eventout += MB1SLayer.size();
01605     for (unsigned int i = 0; i < MB1SLayer.size(); ++i) {
01606       eventout += "\n      (slayer, time, layer) = (";
01607       eventout += MB1SLayer[i];
01608       eventout += ", ";
01609       eventout += MB1Time[i];
01610       eventout += ", ";
01611       eventout += MB1Layer[i];
01612       eventout += ")";
01613     }
01614     eventout += "\n         nMB2     = ";
01615     eventout += MB2SLayer.size();
01616     for (unsigned int i = 0; i < MB2SLayer.size(); ++i) {
01617       eventout += "\n      (slayer, time, layer) = (";
01618       eventout += MB2SLayer[i];
01619       eventout += ", ";
01620       eventout += MB2Time[i];
01621       eventout += ", ";
01622       eventout += MB2Layer[i];
01623       eventout += ")";
01624     }
01625     eventout += "\n         nMB3     = ";
01626     eventout += MB3SLayer.size();
01627     for (unsigned int i = 0; i < MB3SLayer.size(); ++i) {
01628       eventout += "\n      (slayer, time, layer) = (";
01629       eventout += MB3SLayer[i];
01630       eventout += ", ";
01631       eventout += MB3Time[i];
01632       eventout += ", ";
01633       eventout += MB3Layer[i];
01634       eventout += ")";
01635     }
01636     eventout += "\n         nMB2     = ";
01637     eventout += MB4SLayer.size();
01638     for (unsigned int i = 0; i < MB4SLayer.size(); ++i) {
01639       eventout += "\n      (slayer, time, layer) = (";
01640       eventout += MB4SLayer[i];
01641       eventout += ", ";
01642       eventout += MB4Time[i];
01643       eventout += ", ";
01644       eventout += MB4Layer[i];
01645       eventout += ")";
01646     }    
01647 
01648     // CSC Strip
01649     eventout += "\n         nCSCStrip     = ";
01650     eventout += CSCStripADC.size();
01651     for (unsigned int i = 0; i < CSCStripADC.size(); ++i) {
01652       eventout += "\n      (adc) = (";
01653       eventout += CSCStripADC[i];
01654       eventout += ")";
01655     }    
01656 
01657     // CSC Wire
01658     eventout += "\n         nCSCWire     = ";
01659     eventout += CSCWireTime.size();
01660     for (unsigned int i = 0; i < CSCWireTime.size(); ++i) {
01661       eventout += "\n      (time) = (";
01662       eventout += CSCWireTime[i];
01663       eventout += ")";
01664     }    
01665 
01666     edm::LogInfo(MsgLoggerCat) << eventout << "\n";  
01667   }
01668   
01669   product.putMB1Digis(MB1SLayer,MB1Time,MB1Layer);
01670   product.putMB2Digis(MB2SLayer,MB2Time,MB2Layer);
01671   product.putMB3Digis(MB3SLayer,MB3Time,MB3Layer);
01672   product.putMB4Digis(MB4SLayer,MB4Time,MB4Layer);  
01673 
01674   product.putCSCstripDigis(CSCStripADC);
01675 
01676   product.putCSCwireDigis(CSCWireTime);
01677 
01678   return;
01679 }

void GlobalDigisProducer::storeTrk ( PGlobalDigi product  )  [private]

Definition at line 1166 of file GlobalDigisProducer.cc.

References BRL1ADC, BRL1Col, BRL1Row, BRL2ADC, BRL2Col, BRL2Row, BRL3ADC, BRL3Col, BRL3Row, FWD1nADC, FWD1nCol, FWD1nRow, FWD1pADC, FWD1pCol, FWD1pRow, FWD2nADC, FWD2nCol, FWD2nRow, FWD2pADC, FWD2pCol, FWD2pRow, i, PGlobalDigi::putBRL1Digis(), PGlobalDigi::putBRL2Digis(), PGlobalDigi::putBRL3Digis(), PGlobalDigi::putFWD1nDigis(), PGlobalDigi::putFWD1pDigis(), PGlobalDigi::putFWD2nDigis(), PGlobalDigi::putFWD2pDigis(), PGlobalDigi::putTECW1Digis(), PGlobalDigi::putTECW2Digis(), PGlobalDigi::putTECW3Digis(), PGlobalDigi::putTECW4Digis(), PGlobalDigi::putTECW5Digis(), PGlobalDigi::putTECW6Digis(), PGlobalDigi::putTECW7Digis(), PGlobalDigi::putTECW8Digis(), PGlobalDigi::putTIBL1Digis(), PGlobalDigi::putTIBL2Digis(), PGlobalDigi::putTIBL3Digis(), PGlobalDigi::putTIBL4Digis(), PGlobalDigi::putTIDW1Digis(), PGlobalDigi::putTIDW2Digis(), PGlobalDigi::putTIDW3Digis(), PGlobalDigi::putTOBL1Digis(), PGlobalDigi::putTOBL2Digis(), PGlobalDigi::putTOBL3Digis(), PGlobalDigi::putTOBL4Digis(), TECW1ADC, TECW1Strip, TECW2ADC, TECW2Strip, TECW3ADC, TECW3Strip, TECW4ADC, TECW4Strip, TECW5ADC, TECW5Strip, TECW6ADC, TECW6Strip, TECW7ADC, TECW7Strip, TECW8ADC, TECW8Strip, TIBL1ADC, TIBL1Strip, TIBL2ADC, TIBL2Strip, TIBL3ADC, TIBL3Strip, TIBL4ADC, TIBL4Strip, TIDW1ADC, TIDW1Strip, TIDW2ADC, TIDW2Strip, TIDW3ADC, TIDW3Strip, TOBL1ADC, TOBL1Strip, TOBL2ADC, TOBL2Strip, TOBL3ADC, TOBL3Strip, TOBL4ADC, TOBL4Strip, and verbosity.

Referenced by produce().

01167 {
01168   std::string MsgLoggerCat = "GlobalDigisProducer_storeTrk";
01169 
01170   if (verbosity > 2) {
01171 
01172     // strip output
01173     TString eventout("\n         nTIBL1     = ");
01174     eventout += TIBL1ADC.size();
01175     for (unsigned int i = 0; i < TIBL1ADC.size(); ++i) {
01176       eventout += "\n      (ADC, strip) = (";
01177       eventout += TIBL1ADC[i];
01178       eventout += ", ";
01179       eventout += TIBL1Strip[i];
01180       eventout += ")";
01181     }
01182     eventout += "\n         nTIBL2     = ";
01183     eventout += TIBL2ADC.size();
01184     for (unsigned int i = 0; i < TIBL2ADC.size(); ++i) {
01185       eventout += "\n      (ADC, strip) = (";
01186       eventout += TIBL2ADC[i];
01187       eventout += ", ";
01188       eventout += TIBL2Strip[i];
01189       eventout += ")";
01190     }
01191     eventout += "\n         nTIBL3     = ";
01192     eventout += TIBL3ADC.size();
01193     for (unsigned int i = 0; i < TIBL3ADC.size(); ++i) {
01194       eventout += "\n      (ADC, strip) = (";
01195       eventout += TIBL3ADC[i];
01196       eventout += ", ";
01197       eventout += TIBL3Strip[i];
01198       eventout += ")";
01199     }
01200     eventout += "\n         nTIBL4     = ";
01201     eventout += TIBL4ADC.size();
01202     for (unsigned int i = 0; i < TIBL4ADC.size(); ++i) {
01203       eventout += "\n      (ADC, strip) = (";
01204       eventout += TIBL4ADC[i];
01205       eventout += ", ";
01206       eventout += TIBL4Strip[i];
01207       eventout += ")";
01208     }
01209     eventout += "\n         nTOBL1     = ";
01210     eventout += TOBL1ADC.size();
01211     for (unsigned int i = 0; i < TOBL1ADC.size(); ++i) {
01212       eventout += "\n      (ADC, strip) = (";
01213       eventout += TOBL1ADC[i];
01214       eventout += ", ";
01215       eventout += TOBL1Strip[i];
01216       eventout += ")";
01217     }
01218     eventout += "\n         nTOBL2     = ";
01219     eventout += TOBL2ADC.size();
01220     for (unsigned int i = 0; i < TOBL2ADC.size(); ++i) {
01221       eventout += "\n      (ADC, strip) = (";
01222       eventout += TOBL2ADC[i];
01223       eventout += ", ";
01224       eventout += TOBL2Strip[i];
01225       eventout += ")";
01226     }
01227     eventout += "\n         nTOBL3     = ";
01228     eventout += TOBL3ADC.size();
01229     for (unsigned int i = 0; i < TOBL3ADC.size(); ++i) {
01230       eventout += "\n      (ADC, strip) = (";
01231       eventout += TOBL3ADC[i];
01232       eventout += ", ";
01233       eventout += TOBL3Strip[i];
01234       eventout += ")";
01235     }
01236     eventout += "\n         nTOBL4     = ";
01237     eventout += TOBL4ADC.size();
01238     for (unsigned int i = 0; i < TOBL4ADC.size(); ++i) {
01239       eventout += "\n      (ADC, strip) = (";
01240       eventout += TOBL4ADC[i];
01241       eventout += ", ";
01242       eventout += TOBL4Strip[i];
01243       eventout += ")";
01244     }
01245     eventout += "\n         nTIDW1     = ";
01246     eventout += TIDW1ADC.size();
01247     for (unsigned int i = 0; i < TIDW1ADC.size(); ++i) {
01248       eventout += "\n      (ADC, strip) = (";
01249       eventout += TIDW1ADC[i];
01250       eventout += ", ";
01251       eventout += TIDW1Strip[i];
01252       eventout += ")";
01253     }
01254     eventout += "\n         nTIDW2     = ";
01255     eventout += TIDW2ADC.size();
01256     for (unsigned int i = 0; i < TIDW2ADC.size(); ++i) {
01257       eventout += "\n      (ADC, strip) = (";
01258       eventout += TIDW2ADC[i];
01259       eventout += ", ";
01260       eventout += TIDW2Strip[i];
01261       eventout += ")";
01262     }
01263     eventout += "\n         nTIDW3     = ";
01264     eventout += TIDW3ADC.size();
01265     for (unsigned int i = 0; i < TIDW3ADC.size(); ++i) {
01266       eventout += "\n      (ADC, strip) = (";
01267       eventout += TIDW3ADC[i];
01268       eventout += ", ";
01269       eventout += TIDW3Strip[i];
01270       eventout += ")";
01271     }
01272     eventout += "\n         nTECW1     = ";
01273     eventout += TECW1ADC.size();
01274     for (unsigned int i = 0; i < TECW1ADC.size(); ++i) {
01275       eventout += "\n      (ADC, strip) = (";
01276       eventout += TECW1ADC[i];
01277       eventout += ", ";
01278       eventout += TECW1Strip[i];
01279       eventout += ")";
01280     }
01281     eventout += "\n         nTECW2     = ";
01282     eventout += TECW2ADC.size();
01283     for (unsigned int i = 0; i < TECW2ADC.size(); ++i) {
01284       eventout += "\n      (ADC, strip) = (";
01285       eventout += TECW2ADC[i];
01286       eventout += ", ";
01287       eventout += TECW2Strip[i];
01288       eventout += ")";
01289     }
01290     eventout += "\n         nTECW3     = ";
01291     eventout += TECW3ADC.size();
01292     for (unsigned int i = 0; i < TECW3ADC.size(); ++i) {
01293       eventout += "\n      (ADC, strip) = (";
01294       eventout += TECW3ADC[i];
01295       eventout += ", ";
01296       eventout += TECW3Strip[i];
01297       eventout += ")";
01298     }
01299     eventout += "\n         nTECW4     = ";
01300     eventout += TECW4ADC.size();
01301     for (unsigned int i = 0; i < TECW4ADC.size(); ++i) {
01302       eventout += "\n      (ADC, strip) = (";
01303       eventout += TECW4ADC[i];
01304       eventout += ", ";
01305       eventout += TECW4Strip[i];
01306       eventout += ")";
01307     }
01308     eventout += "\n         nTECW5     = ";
01309     eventout += TECW5ADC.size();
01310     for (unsigned int i = 0; i < TECW5ADC.size(); ++i) {
01311       eventout += "\n      (ADC, strip) = (";
01312       eventout += TECW5ADC[i];
01313       eventout += ", ";
01314       eventout += TECW5Strip[i];
01315       eventout += ")";
01316     }
01317     eventout += "\n         nTECW6     = ";
01318     eventout += TECW6ADC.size();
01319     for (unsigned int i = 0; i < TECW6ADC.size(); ++i) {
01320       eventout += "\n      (ADC, strip) = (";
01321       eventout += TECW6ADC[i];
01322       eventout += ", ";
01323       eventout += TECW6Strip[i];
01324       eventout += ")";
01325     }
01326     eventout += "\n         nTECW7     = ";
01327     eventout += TECW7ADC.size();
01328     for (unsigned int i = 0; i < TECW7ADC.size(); ++i) {
01329       eventout += "\n      (ADC, strip) = (";
01330       eventout += TECW7ADC[i];
01331       eventout += ", ";
01332       eventout += TECW7Strip[i];
01333       eventout += ")";
01334     }
01335     eventout += "\n         nTECW8     = ";
01336     eventout += TECW8ADC.size();
01337     for (unsigned int i = 0; i < TECW8ADC.size(); ++i) {
01338       eventout += "\n      (ADC, strip) = (";
01339       eventout += TECW8ADC[i];
01340       eventout += ", ";
01341       eventout += TECW8Strip[i];
01342       eventout += ")";
01343     }
01344 
01345     // pixel output
01346     eventout += "\n         nBRL1     = ";
01347     eventout += BRL1ADC.size();
01348     for (unsigned int i = 0; i < BRL1ADC.size(); ++i) {
01349       eventout += "\n      (ADC, row, column) = (";
01350       eventout += BRL1ADC[i];
01351       eventout += ", ";
01352       eventout += BRL1Row[i];
01353       eventout += ", ";
01354       eventout += BRL1Col[i];
01355       eventout += ")";
01356     } 
01357     eventout += "\n         nBRL2     = ";
01358     eventout += BRL2ADC.size();
01359     for (unsigned int i = 0; i < BRL2ADC.size(); ++i) {
01360       eventout += "\n      (ADC, row, column) = (";
01361       eventout += BRL2ADC[i];
01362       eventout += ", ";
01363       eventout += BRL2Row[i];
01364       eventout += ", ";
01365       eventout += BRL2Col[i];
01366       eventout += ")";
01367     } 
01368     eventout += "\n         nBRL3     = ";
01369     eventout += BRL3ADC.size();
01370     for (unsigned int i = 0; i < BRL3ADC.size(); ++i) {
01371       eventout += "\n      (ADC, row, column) = (";
01372       eventout += BRL3ADC[i];
01373       eventout += ", ";
01374       eventout += BRL3Row[i];
01375       eventout += ", ";
01376       eventout += BRL3Col[i];
01377       eventout += ")";
01378     }    
01379     eventout += "\n         nFWD1p     = ";
01380     eventout += FWD1pADC.size();
01381     for (unsigned int i = 0; i < FWD1pADC.size(); ++i) {
01382       eventout += "\n      (ADC, row, column) = (";
01383       eventout += FWD1pADC[i];
01384       eventout += ", ";
01385       eventout += FWD1pRow[i];
01386       eventout += ", ";
01387       eventout += FWD1pCol[i];
01388       eventout += ")";
01389     } 
01390     eventout += "\n         nFWD1p     = ";
01391     eventout += FWD1nADC.size();
01392     for (unsigned int i = 0; i < FWD1nADC.size(); ++i) {
01393       eventout += "\n      (ADC, row, column) = (";
01394       eventout += FWD1nADC[i];
01395       eventout += ", ";
01396       eventout += FWD1nRow[i];
01397       eventout += ", ";
01398       eventout += FWD1nCol[i];
01399       eventout += ")";
01400     } 
01401     eventout += "\n         nFWD1p     = ";
01402     eventout += FWD2pADC.size();
01403     for (unsigned int i = 0; i < FWD2pADC.size(); ++i) {
01404       eventout += "\n      (ADC, row, column) = (";
01405       eventout += FWD2pADC[i];
01406       eventout += ", ";
01407       eventout += FWD2pRow[i];
01408       eventout += ", ";
01409       eventout += FWD2pCol[i];
01410       eventout += ")";
01411     } 
01412     eventout += "\n         nFWD2p     = ";
01413     eventout += FWD2nADC.size();
01414     for (unsigned int i = 0; i < FWD2nADC.size(); ++i) {
01415       eventout += "\n      (ADC, row, column) = (";
01416       eventout += FWD2nADC[i];
01417       eventout += ", ";
01418       eventout += FWD2nRow[i];
01419       eventout += ", ";
01420       eventout += FWD2nCol[i];
01421       eventout += ")";
01422     } 
01423 
01424     edm::LogInfo(MsgLoggerCat) << eventout << "\n";  
01425   }
01426 
01427   // strip output
01428   product.putTIBL1Digis(TIBL1ADC,TIBL1Strip);
01429   product.putTIBL2Digis(TIBL2ADC,TIBL2Strip);
01430   product.putTIBL3Digis(TIBL3ADC,TIBL3Strip);
01431   product.putTIBL4Digis(TIBL4ADC,TIBL4Strip);
01432   product.putTOBL1Digis(TOBL1ADC,TOBL1Strip);
01433   product.putTOBL2Digis(TOBL2ADC,TOBL2Strip);
01434   product.putTOBL3Digis(TOBL3ADC,TOBL3Strip);
01435   product.putTOBL4Digis(TOBL4ADC,TOBL4Strip);
01436   product.putTIDW1Digis(TIDW1ADC,TIDW1Strip);
01437   product.putTIDW2Digis(TIDW2ADC,TIDW2Strip);
01438   product.putTIDW3Digis(TIDW3ADC,TIDW3Strip);
01439   product.putTECW1Digis(TECW1ADC,TECW1Strip);
01440   product.putTECW2Digis(TECW2ADC,TECW2Strip);
01441   product.putTECW3Digis(TECW3ADC,TECW3Strip);
01442   product.putTECW4Digis(TECW4ADC,TECW4Strip);
01443   product.putTECW5Digis(TECW5ADC,TECW5Strip);
01444   product.putTECW6Digis(TECW6ADC,TECW6Strip);  
01445   product.putTECW7Digis(TECW7ADC,TECW7Strip);
01446   product.putTECW8Digis(TECW8ADC,TECW8Strip);  
01447 
01448   // pixel output
01449   product.putBRL1Digis(BRL1ADC, BRL1Row, BRL1Col);
01450   product.putBRL2Digis(BRL2ADC, BRL2Row, BRL2Col);
01451   product.putBRL3Digis(BRL3ADC, BRL3Row, BRL3Col);
01452   product.putFWD1pDigis(FWD1pADC, FWD1pRow, FWD1pCol);
01453   product.putFWD1nDigis(FWD1nADC, FWD1nRow, FWD1nCol);
01454   product.putFWD2pDigis(FWD2pADC, FWD2pRow, FWD2pCol);
01455   product.putFWD2nDigis(FWD2nADC, FWD2nRow, FWD2nCol);
01456 
01457   return;
01458 }


Member Data Documentation

FloatVector GlobalDigisProducer::BRL1ADC [private]

Definition at line 211 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL1Col [private]

Definition at line 213 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL1Row [private]

Definition at line 212 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::BRL2ADC [private]

Definition at line 211 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL2Col [private]

Definition at line 213 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL2Row [private]

Definition at line 212 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::BRL3ADC [private]

Definition at line 211 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL3Col [private]

Definition at line 213 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::BRL3Row [private]

Definition at line 212 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

unsigned int GlobalDigisProducer::count [private]

Definition at line 246 of file GlobalDigisProducer.h.

Referenced by endJob(), and produce().

FloatVector GlobalDigisProducer::CSCStripADC [private]

Definition at line 235 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

FloatVector GlobalDigisProducer::CSCWireTime [private]

Definition at line 241 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

DoubleVector GlobalDigisProducer::EBCalAEE [private]

Definition at line 155 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

IntVector GlobalDigisProducer::EBCalmaxPos [private]

Definition at line 154 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::EBCalSHE [private]

Definition at line 156 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

double GlobalDigisProducer::ECalbarrelADCtoGeV_ [private]

Definition at line 170 of file GlobalDigisProducer.h.

Referenced by beginJob(), fillECal(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::ECalEBSrc_ [private]

Definition at line 165 of file GlobalDigisProducer.h.

Referenced by fillECal(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::ECalEESrc_ [private]

Definition at line 166 of file GlobalDigisProducer.h.

Referenced by fillECal(), and GlobalDigisProducer().

double GlobalDigisProducer::ECalendcapADCtoGeV_ [private]

Definition at line 171 of file GlobalDigisProducer.h.

Referenced by beginJob(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::ECalESSrc_ [private]

Definition at line 167 of file GlobalDigisProducer.h.

Referenced by fillECal(), and GlobalDigisProducer().

std::map<int, double, std::less<int> > GlobalDigisProducer::ECalgainConv_ [private]

Definition at line 169 of file GlobalDigisProducer.h.

Referenced by beginJob(), fillECal(), and GlobalDigisProducer().

DoubleVector GlobalDigisProducer::EECalAEE [private]

Definition at line 159 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

IntVector GlobalDigisProducer::EECalmaxPos [private]

Definition at line 158 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::EECalSHE [private]

Definition at line 160 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::ESCalADC0 [private]

Definition at line 162 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::ESCalADC1 [private]

Definition at line 162 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::ESCalADC2 [private]

Definition at line 162 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

FloatVector GlobalDigisProducer::ESCalSHE [private]

Definition at line 163 of file GlobalDigisProducer.h.

Referenced by clear(), fillECal(), and storeECal().

std::string GlobalDigisProducer::fName [private]

Definition at line 144 of file GlobalDigisProducer.h.

Referenced by GlobalDigisProducer().

int GlobalDigisProducer::frequency [private]

Definition at line 146 of file GlobalDigisProducer.h.

Referenced by GlobalDigisProducer(), and produce().

FloatVector GlobalDigisProducer::FWD1nADC [private]

Definition at line 215 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD1nCol [private]

Definition at line 217 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD1nRow [private]

Definition at line 216 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::FWD1pADC [private]

Definition at line 215 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD1pCol [private]

Definition at line 217 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD1pRow [private]

Definition at line 216 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::FWD2nADC [private]

Definition at line 215 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD2nCol [private]

Definition at line 217 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD2nRow [private]

Definition at line 216 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::FWD2pADC [private]

Definition at line 215 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD2pCol [private]

Definition at line 217 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::FWD2pRow [private]

Definition at line 216 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

bool GlobalDigisProducer::getAllProvenances [private]

Definition at line 148 of file GlobalDigisProducer.h.

Referenced by GlobalDigisProducer(), and produce().

FloatVector GlobalDigisProducer::HBCalAEE [private]

Definition at line 175 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HBCalSHE [private]

Definition at line 176 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

edm::InputTag GlobalDigisProducer::HCalDigi_ [private]

Definition at line 188 of file GlobalDigisProducer.h.

Referenced by fillHCal(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::HCalSrc_ [private]

Definition at line 187 of file GlobalDigisProducer.h.

Referenced by fillHCal(), and GlobalDigisProducer().

FloatVector GlobalDigisProducer::HECalAEE [private]

Definition at line 178 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HECalSHE [private]

Definition at line 179 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HFCalAEE [private]

Definition at line 184 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HFCalSHE [private]

Definition at line 185 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HOCalAEE [private]

Definition at line 181 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

FloatVector GlobalDigisProducer::HOCalSHE [private]

Definition at line 182 of file GlobalDigisProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

std::string GlobalDigisProducer::label [private]

Definition at line 147 of file GlobalDigisProducer.h.

Referenced by GlobalDigisProducer(), and produce().

IntVector GlobalDigisProducer::MB1Layer [private]

Definition at line 226 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB1SLayer [private]

Definition at line 224 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

FloatVector GlobalDigisProducer::MB1Time [private]

Definition at line 225 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB2Layer [private]

Definition at line 226 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB2SLayer [private]

Definition at line 224 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

FloatVector GlobalDigisProducer::MB2Time [private]

Definition at line 225 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB3Layer [private]

Definition at line 226 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB3SLayer [private]

Definition at line 224 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

FloatVector GlobalDigisProducer::MB3Time [private]

Definition at line 225 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB4Layer [private]

Definition at line 226 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

IntVector GlobalDigisProducer::MB4SLayer [private]

Definition at line 224 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

FloatVector GlobalDigisProducer::MB4Time [private]

Definition at line 225 of file GlobalDigisProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

edm::InputTag GlobalDigisProducer::MuCSCStripSrc_ [private]

Definition at line 237 of file GlobalDigisProducer.h.

Referenced by fillMuon(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::MuCSCWireSrc_ [private]

Definition at line 243 of file GlobalDigisProducer.h.

Referenced by fillMuon(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::MuDTSrc_ [private]

Definition at line 228 of file GlobalDigisProducer.h.

Referenced by fillMuon(), and GlobalDigisProducer().

bool GlobalDigisProducer::printProvenanceInfo [private]

Definition at line 149 of file GlobalDigisProducer.h.

Referenced by GlobalDigisProducer(), and produce().

edm::InputTag GlobalDigisProducer::SiPxlSrc_ [private]

Definition at line 219 of file GlobalDigisProducer.h.

Referenced by fillTrk(), and GlobalDigisProducer().

edm::InputTag GlobalDigisProducer::SiStripSrc_ [private]

Definition at line 207 of file GlobalDigisProducer.h.

Referenced by fillTrk(), and GlobalDigisProducer().

FloatVector GlobalDigisProducer::TECW1ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW1Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW2ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW2Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW3ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW3Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW4ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW4Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW5ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW5Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW6ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW6Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW7ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW7Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TECW8ADC [private]

Definition at line 202 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TECW8Strip [private]

Definition at line 204 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

int GlobalDigisProducer::theCSCStripPedestalCount [private]

Definition at line 233 of file GlobalDigisProducer.h.

Referenced by fillMuon().

float GlobalDigisProducer::theCSCStripPedestalSum [private]

Definition at line 232 of file GlobalDigisProducer.h.

Referenced by fillMuon().

FloatVector GlobalDigisProducer::TIBL1ADC [private]

Definition at line 193 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIBL1Strip [private]

Definition at line 194 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIBL2ADC [private]

Definition at line 193 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIBL2Strip [private]

Definition at line 194 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIBL3ADC [private]

Definition at line 193 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIBL3Strip [private]

Definition at line 194 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIBL4ADC [private]

Definition at line 193 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIBL4Strip [private]

Definition at line 194 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIDW1ADC [private]

Definition at line 199 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIDW1Strip [private]

Definition at line 200 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIDW2ADC [private]

Definition at line 199 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIDW2Strip [private]

Definition at line 200 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TIDW3ADC [private]

Definition at line 199 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TIDW3Strip [private]

Definition at line 200 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TOBL1ADC [private]

Definition at line 196 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TOBL1Strip [private]

Definition at line 197 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TOBL2ADC [private]

Definition at line 196 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TOBL2Strip [private]

Definition at line 197 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TOBL3ADC [private]

Definition at line 196 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TOBL3Strip [private]

Definition at line 197 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

FloatVector GlobalDigisProducer::TOBL4ADC [private]

Definition at line 196 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

IntVector GlobalDigisProducer::TOBL4Strip [private]

Definition at line 197 of file GlobalDigisProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

int GlobalDigisProducer::verbosity [private]

Definition at line 145 of file GlobalDigisProducer.h.

Referenced by beginJob(), clear(), endJob(), fillECal(), fillHCal(), fillMuon(), fillTrk(), GlobalDigisProducer(), produce(), storeECal(), storeHCal(), storeMuon(), and storeTrk().


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