CMS 3D CMS Logo

EcalBarrelRecHitsValidation Class Reference

#include <Validation/EcalRecHits/interface/EcalBarrelRecHitsValidation.h>

Inheritance diagram for EcalBarrelRecHitsValidation:

edm::EDAnalyzer

List of all members.

Public Member Functions

 EcalBarrelRecHitsValidation (const edm::ParameterSet &ps)
 Constructor.
 ~EcalBarrelRecHitsValidation ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob (const edm::EventSetup &c)
void endJob (void)

Private Attributes

DQMStoredbe_
edm::InputTag EBdigiCollection_
edm::InputTag EBuncalibrechitCollection_
MonitorElementmeEBUncalibRecHitAmplMap_ [36]
MonitorElementmeEBUncalibRecHitMaxSampleRatio_
MonitorElementmeEBUncalibRecHitMaxSampleRatioGt100adc_
MonitorElementmeEBUncalibRecHitPedMap_ [36]
MonitorElementmeEBUncalibRecHitsAmpFullMap_
MonitorElementmeEBUncalibRecHitsAmplitude_
MonitorElementmeEBUncalibRecHitsAmplitudeGt100adc_
MonitorElementmeEBUncalibRecHitsChi2_
MonitorElementmeEBUncalibRecHitsChi2Gt100adc_
MonitorElementmeEBUncalibRecHitsJitter_
MonitorElementmeEBUncalibRecHitsJitterGt100adc_
MonitorElementmeEBUncalibRecHitsOccupancy_
MonitorElementmeEBUncalibRecHitsOccupancyGt100adc_
MonitorElementmeEBUncalibRecHitsPedestal_
MonitorElementmeEBUncalibRecHitsPedestalGt100adc_
MonitorElementmeEBUncalibRecHitsPedFullMap_
bool verbose_


Detailed Description

Definition at line 38 of file EcalBarrelRecHitsValidation.h.


Constructor & Destructor Documentation

EcalBarrelRecHitsValidation::EcalBarrelRecHitsValidation ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 17 of file EcalBarrelRecHitsValidation.cc.

References dbe_, EBdigiCollection_, EBuncalibrechitCollection_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), histo, i, meEBUncalibRecHitAmplMap_, meEBUncalibRecHitMaxSampleRatio_, meEBUncalibRecHitMaxSampleRatioGt100adc_, meEBUncalibRecHitPedMap_, meEBUncalibRecHitsAmpFullMap_, meEBUncalibRecHitsAmplitude_, meEBUncalibRecHitsAmplitudeGt100adc_, meEBUncalibRecHitsChi2_, meEBUncalibRecHitsChi2Gt100adc_, meEBUncalibRecHitsJitter_, meEBUncalibRecHitsJitterGt100adc_, meEBUncalibRecHitsOccupancy_, meEBUncalibRecHitsOccupancyGt100adc_, meEBUncalibRecHitsPedestal_, meEBUncalibRecHitsPedestalGt100adc_, meEBUncalibRecHitsPedFullMap_, and verbose_.

00017                                                                               {
00018   
00019   // ---------------------- 
00020   EBdigiCollection_          = ps.getParameter<edm::InputTag>("EBdigiCollection");
00021   EBuncalibrechitCollection_ = ps.getParameter<edm::InputTag>("EBuncalibrechitCollection");
00022   
00023   // ---------------------- 
00024   // verbosity switch 
00025   verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
00026     
00027   // ----------------------                 
00028   // get hold of back-end interface 
00029   dbe_ = 0;
00030   dbe_ = Service<DQMStore>().operator->();                   
00031   if ( dbe_ ) {
00032     if ( verbose_ ) {
00033       dbe_->setVerbose(1);
00034     } else {
00035       dbe_->setVerbose(0);
00036     }
00037   }                                                                  
00038   if ( dbe_ ) {
00039     if ( verbose_ ) dbe_->showDirStructure();
00040   }
00041 
00042 
00043   // ----------------------   
00044   meEBUncalibRecHitsOccupancy_             = 0;
00045   meEBUncalibRecHitsAmplitude_             = 0;
00046   meEBUncalibRecHitsPedestal_              = 0;
00047   meEBUncalibRecHitsJitter_                = 0;
00048   meEBUncalibRecHitsChi2_                  = 0;
00049   meEBUncalibRecHitMaxSampleRatio_         = 0;
00050   meEBUncalibRecHitsOccupancyGt100adc_     = 0;
00051   meEBUncalibRecHitsAmplitudeGt100adc_     = 0;
00052   meEBUncalibRecHitsPedestalGt100adc_      = 0;
00053   meEBUncalibRecHitsJitterGt100adc_        = 0;
00054   meEBUncalibRecHitsChi2Gt100adc_          = 0;
00055   meEBUncalibRecHitMaxSampleRatioGt100adc_ = 0;
00056   meEBUncalibRecHitsAmpFullMap_            = 0;
00057   meEBUncalibRecHitsPedFullMap_            = 0;
00058   for (int i=0; i<36 ; i++) 
00059     {
00060       meEBUncalibRecHitAmplMap_[i] = 0;
00061       meEBUncalibRecHitPedMap_[i]  = 0;
00062     }
00063 
00064   // ---------------------- 
00065   Char_t histo[200];
00066    
00067   if ( dbe_ ) 
00068     {
00069       dbe_->setCurrentFolder("EcalRecHitsV/EcalBarrelRecHitsTask");
00070       
00071       sprintf (histo, "EB Occupancy" );  
00072       meEBUncalibRecHitsOccupancy_ = dbe_->book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
00073       
00074       sprintf (histo, "EB Amplitude" );
00075       meEBUncalibRecHitsAmplitude_ = dbe_->book1D(histo, histo, 201, -20., 4000.);
00076       
00077       sprintf (histo, "EB Pedestal" );
00078       meEBUncalibRecHitsPedestal_ = dbe_->book1D(histo, histo, 50, 190., 210.);
00079       
00080       sprintf (histo, "EB Jitter" );
00081       meEBUncalibRecHitsJitter_ = dbe_->book1D(histo, histo, 100, 0., 100.);
00082       
00083       sprintf (histo, "EB Chi2" );
00084       meEBUncalibRecHitsChi2_ = dbe_->book1D(histo, histo, 100, 0., 100.);
00085 
00086       sprintf (histo, "EB RecHit Max Sample Ratio"); 
00087       meEBUncalibRecHitMaxSampleRatio_ = dbe_->book1D(histo, histo, 120, 0.90, 1.05);
00088 
00089       sprintf (histo, "EB Occupancy gt 100 adc counts" );
00090       meEBUncalibRecHitsOccupancyGt100adc_ = dbe_->book2D(histo, histo, 170, -85., 85., 360, 0., 360.);
00091       
00092       sprintf (histo, "EB Amplitude gt 100 adc counts" );
00093       meEBUncalibRecHitsAmplitudeGt100adc_ = dbe_->book1D(histo, histo, 200, 0., 4000.);
00094 
00095       sprintf (histo, "EB Pedestal gt 100 adc counts" );
00096       meEBUncalibRecHitsPedestalGt100adc_ = dbe_->book1D(histo, histo, 50, 190., 210.);
00097 
00098       sprintf (histo, "EB Jitter gt 100 adc counts" );
00099       meEBUncalibRecHitsJitterGt100adc_ = dbe_->book1D(histo, histo, 100, 0., 100.);
00100 
00101       sprintf (histo, "EB Chi2 gt 100 adc counts" );
00102       meEBUncalibRecHitsChi2Gt100adc_ = dbe_->book1D(histo, histo, 100, 0., 100.);
00103     
00104       sprintf (histo, "EB RecHit Max Sample Ratio gt 100 adc counts"); 
00105       meEBUncalibRecHitMaxSampleRatioGt100adc_ = dbe_->book1D(histo, histo, 120, 0.90, 1.05);
00106       
00107       sprintf (histo, "EB Amplitude Full Map");
00108       meEBUncalibRecHitsAmpFullMap_ = dbe_->bookProfile2D(histo, histo, 170, -85., 85., 360, 0., 360., 200, 0., 4000.);
00109 
00110       sprintf (histo, "EB Pedestal Full Map");
00111       meEBUncalibRecHitsPedFullMap_ = dbe_->bookProfile2D(histo, histo, 170, -85., 85., 360, 0., 360., 50, 194., 201.);
00112 
00113       for (int i=0; i<36 ; i++) 
00114         {
00115           sprintf(histo, "EB Amp SM%02d", i+1);
00116           meEBUncalibRecHitAmplMap_[i] = dbe_->bookProfile2D(histo, histo, 85, 0., 85., 20, 0., 20., 200, 0., 4000.);
00117           
00118           sprintf(histo, "EB Ped SM%02d", i+1);
00119           meEBUncalibRecHitPedMap_[i] = dbe_->bookProfile2D(histo, histo, 85, 0., 85., 20, 0., 20., 50, 194., 201.);
00120         }
00121     }
00122 }

EcalBarrelRecHitsValidation::~EcalBarrelRecHitsValidation (  ) 

Destructor.

Definition at line 124 of file EcalBarrelRecHitsValidation.cc.

00124                                                          {   
00125 
00126 }


Member Function Documentation

void EcalBarrelRecHitsValidation::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 136 of file EcalBarrelRecHitsValidation.cc.

References EcalMGPASample::adc(), edm::SortedCollection< T, SORT >::begin(), EBdigiCollection_, EBuncalibrechitCollection_, edm::SortedCollection< T, SORT >::end(), edm::DataFrameContainer::end(), MonitorElement::Fill(), edm::DataFrameContainer::find(), edm::EventSetup::get(), edm::Event::getByLabel(), EcalCondObjectContainer< T >::getMap(), EBDetId::ic(), EBDetId::ieta(), EBDetId::iphi(), EBDetId::ism(), edm::Handle< T >::isValid(), it, LogDebug, meEBUncalibRecHitAmplMap_, meEBUncalibRecHitMaxSampleRatio_, meEBUncalibRecHitMaxSampleRatioGt100adc_, meEBUncalibRecHitPedMap_, meEBUncalibRecHitsAmpFullMap_, meEBUncalibRecHitsAmplitude_, meEBUncalibRecHitsAmplitudeGt100adc_, meEBUncalibRecHitsChi2_, meEBUncalibRecHitsChi2Gt100adc_, meEBUncalibRecHitsJitter_, meEBUncalibRecHitsJitterGt100adc_, meEBUncalibRecHitsOccupancy_, meEBUncalibRecHitsOccupancyGt100adc_, meEBUncalibRecHitsPedestal_, meEBUncalibRecHitsPedestalGt100adc_, meEBUncalibRecHitsPedFullMap_, edm::ESHandle< T >::product(), and edm::Handle< T >::product().

00136                                                                             {
00137 
00138   
00139   const EBUncalibratedRecHitCollection *EBUncalibRecHit = 0;
00140   Handle< EBUncalibratedRecHitCollection > EcalUncalibRecHitEB;
00141   e.getByLabel( EBuncalibrechitCollection_, EcalUncalibRecHitEB);
00142   if (EcalUncalibRecHitEB.isValid()) {
00143     EBUncalibRecHit = EcalUncalibRecHitEB.product();
00144   } else {
00145     return;
00146   }
00147 
00148   bool skipDigis = false;
00149   const EBDigiCollection *EBDigi = 0;
00150   Handle< EBDigiCollection > EcalDigiEB;
00151   e.getByLabel( EBdigiCollection_, EcalDigiEB);
00152   if (EcalDigiEB.isValid()) {
00153     EBDigi = EcalDigiEB.product();    
00154   } else {
00155     skipDigis = true;
00156   }
00157 
00158   edm::ESHandle<EcalPedestals> ecalPeds; 
00159   c.get<EcalPedestalsRcd>().get(ecalPeds);
00160 
00161   // ---------------------- 
00162   // loop over UncalibRecHits
00163   for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EBUncalibRecHit->begin(); uncalibRecHit != EBUncalibRecHit->end() ; ++uncalibRecHit)
00164     {
00165       EBDetId EBid = EBDetId(uncalibRecHit->id());
00166       
00167       // general checks
00168       if (meEBUncalibRecHitsOccupancy_)  meEBUncalibRecHitsOccupancy_  -> Fill(EBid.ieta(), EBid.iphi());
00169       if (meEBUncalibRecHitsAmplitude_)  meEBUncalibRecHitsAmplitude_  -> Fill(uncalibRecHit->amplitude());
00170       if (meEBUncalibRecHitsPedestal_)   meEBUncalibRecHitsPedestal_   -> Fill(uncalibRecHit->pedestal());
00171       if (meEBUncalibRecHitsJitter_)     meEBUncalibRecHitsJitter_     -> Fill(uncalibRecHit->jitter());
00172       if (meEBUncalibRecHitsChi2_)       meEBUncalibRecHitsChi2_       -> Fill(uncalibRecHit->chi2());
00173       if (meEBUncalibRecHitsAmpFullMap_) meEBUncalibRecHitsAmpFullMap_ -> Fill(EBid.ieta(), EBid.iphi(), uncalibRecHit->amplitude()); 
00174       if (meEBUncalibRecHitsPedFullMap_) meEBUncalibRecHitsPedFullMap_ -> Fill(EBid.ieta(), EBid.iphi(), uncalibRecHit->pedestal()); 
00175 
00176       // general checks, with threshold at 3.5 GeV = 100 ADC counts
00177       if ( uncalibRecHit->amplitude() > 100 ) 
00178         {
00179           if (meEBUncalibRecHitsOccupancyGt100adc_)  meEBUncalibRecHitsOccupancyGt100adc_  -> Fill(EBid.ieta(), EBid.iphi());
00180           if (meEBUncalibRecHitsAmplitudeGt100adc_)  meEBUncalibRecHitsAmplitudeGt100adc_  -> Fill(uncalibRecHit->amplitude());
00181           if (meEBUncalibRecHitsPedestalGt100adc_)   meEBUncalibRecHitsPedestalGt100adc_   -> Fill(uncalibRecHit->pedestal());
00182           if (meEBUncalibRecHitsJitterGt100adc_)     meEBUncalibRecHitsJitterGt100adc_     -> Fill(uncalibRecHit->jitter());
00183           if (meEBUncalibRecHitsChi2Gt100adc_)       meEBUncalibRecHitsChi2Gt100adc_       -> Fill(uncalibRecHit->chi2());
00184         }
00185 
00186       // supermodule maps
00187       int ic = EBid.ic();              
00188       int ie = (ic-1)/20 + 1;          
00189       int ip = (ic-1)%20 + 1;
00190       int ism = EBid.ism();
00191       float xie = ie - 0.5;
00192       float xip = ip - 0.5;      
00193       meEBUncalibRecHitPedMap_[ism-1] ->Fill(xie, xip, uncalibRecHit->pedestal());
00194       meEBUncalibRecHitAmplMap_[ism-1]->Fill(xie, xip, uncalibRecHit->amplitude());
00195       
00196       if ( ! skipDigis ) { 
00197         // find the rechit corresponding digi and the max sample
00198         EBDigiCollection::const_iterator myDigi = EBDigi->find(EBid);
00199         int sMax = -1;
00200         double eMax = 0.;
00201         if (myDigi != EBDigi->end()){
00202           for (unsigned int sample = 0 ; sample < myDigi->size(); ++sample){
00203             EcalMGPASample thisSample = (*myDigi)[sample];
00204             double analogSample = thisSample.adc();
00205             if ( eMax < analogSample ){
00206               eMax = analogSample;
00207               sMax = sample;
00208             }
00209           }
00210         }
00211         else
00212           continue;
00213 
00214         // ratio uncalibratedRecHit amplitude + ped / max energy digi  
00215         const EcalPedestals* myped = ecalPeds.product();
00216         EcalPedestalsMap::const_iterator it=myped->getMap().find( EBid );
00217         if( it != myped->getMap().end() ){
00218           
00219           if (eMax > (*it).mean_x1 + 5 * (*it).rms_x1 ) {//only real signal RecHit
00220             
00221             if ( meEBUncalibRecHitMaxSampleRatio_ ) meEBUncalibRecHitMaxSampleRatio_->Fill( (uncalibRecHit->amplitude()+uncalibRecHit->pedestal())/eMax);
00222             if ( meEBUncalibRecHitMaxSampleRatioGt100adc_ && (uncalibRecHit->amplitude()>100) ) meEBUncalibRecHitMaxSampleRatioGt100adc_->Fill( (uncalibRecHit->amplitude()+uncalibRecHit->pedestal())/eMax);
00223             LogDebug("EcalRecHitsTaskInfo") << "barrel, eMax = " << eMax << " Amplitude = " << uncalibRecHit->amplitude()+uncalibRecHit->pedestal();  
00224           }
00225           else
00226             continue;
00227         }
00228         else
00229           continue;
00230       }
00231       
00232     }  // loop over the UncalibratedRecHitCollection
00233 }

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

Reimplemented from edm::EDAnalyzer.

Definition at line 128 of file EcalBarrelRecHitsValidation.cc.

00128                                                              {  
00129 
00130 }

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

Reimplemented from edm::EDAnalyzer.

Definition at line 132 of file EcalBarrelRecHitsValidation.cc.

00132                                         {
00133 
00134 }


Member Data Documentation

DQMStore* EcalBarrelRecHitsValidation::dbe_ [private]

Definition at line 63 of file EcalBarrelRecHitsValidation.h.

Referenced by EcalBarrelRecHitsValidation().

edm::InputTag EcalBarrelRecHitsValidation::EBdigiCollection_ [private]

Definition at line 65 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

edm::InputTag EcalBarrelRecHitsValidation::EBuncalibrechitCollection_ [private]

Definition at line 66 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitAmplMap_[36] [private]

Definition at line 82 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitMaxSampleRatio_ [private]

Definition at line 73 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitMaxSampleRatioGt100adc_ [private]

Definition at line 79 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitPedMap_[36] [private]

Definition at line 83 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsAmpFullMap_ [private]

Definition at line 80 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsAmplitude_ [private]

Definition at line 69 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsAmplitudeGt100adc_ [private]

Definition at line 75 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsChi2_ [private]

Definition at line 72 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsChi2Gt100adc_ [private]

Definition at line 78 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsJitter_ [private]

Definition at line 71 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsJitterGt100adc_ [private]

Definition at line 77 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsOccupancy_ [private]

Definition at line 68 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsOccupancyGt100adc_ [private]

Definition at line 74 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsPedestal_ [private]

Definition at line 70 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsPedestalGt100adc_ [private]

Definition at line 76 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

MonitorElement* EcalBarrelRecHitsValidation::meEBUncalibRecHitsPedFullMap_ [private]

Definition at line 81 of file EcalBarrelRecHitsValidation.h.

Referenced by analyze(), and EcalBarrelRecHitsValidation().

bool EcalBarrelRecHitsValidation::verbose_ [private]

Definition at line 61 of file EcalBarrelRecHitsValidation.h.

Referenced by EcalBarrelRecHitsValidation().


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