CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Attributes

DTTestPulsesTask Class Reference

#include <DTTestPulsesTask.h>

Inheritance diagram for DTTestPulsesTask:
edm::EDAnalyzer

List of all members.

Public Member Functions

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

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob ()
 BeginJob.
void beginRun (const edm::Run &, const edm::EventSetup &)
 BeginRun.
void bookHistos (const DTLayerId &dtLayer, std::string folder, std::string histoTag)
 Book the ME.

Private Attributes

DQMStoredbe
edm::ESHandle< DTGeometrymuonGeom
int nevents
edm::ParameterSet parameters
edm::ESHandle< DTRangeT0t0RangeMap
std::pair< int, int > t0sPeakRange
std::map< int, MonitorElement * > testPulsesOccupancies
std::map< int, MonitorElement * > testPulsesProfiles
std::map< int, MonitorElement * > testPulsesTimeBoxes

Detailed Description

Definition at line 37 of file DTTestPulsesTask.h.


Constructor & Destructor Documentation

DTTestPulsesTask::DTTestPulsesTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 38 of file DTTestPulsesTask.cc.

References gather_cfg::cout, cmsCodeRules::cppFunctionSkipper::operator, and Parameters::parameters.

                                                           {


  cout<<"[DTTestPulseTask]: Constructor"<<endl;

  parameters = ps;


  t0sPeakRange = make_pair( parameters.getUntrackedParameter<int>("t0sRangeLowerBound", -100), 
                            parameters.getUntrackedParameter<int>("t0sRangeUpperBound", 100));

  
  dbe = edm::Service<DQMStore>().operator->();

}
DTTestPulsesTask::~DTTestPulsesTask ( ) [virtual]

Destructor.

Definition at line 54 of file DTTestPulsesTask.cc.

References gather_cfg::cout, and nevents.

                                   {

  cout <<"[DTTestPulsesTask]: analyzed " << nevents << " events" << endl;
 
}

Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 186 of file DTTestPulsesTask.cc.

References bookHistos(), edm::Event::getByLabel(), nevents, and edm::second().

                                                                       {

  nevents++;
  
  edm::Handle<DTDigiCollection> dtdigis;
  e.getByLabel("dtunpacker", dtdigis);
  
  DTDigiCollection::DigiRangeIterator dtLayerId_It;
  for (dtLayerId_It=dtdigis->begin(); dtLayerId_It!=dtdigis->end(); ++dtLayerId_It){
    
    for (DTDigiCollection::const_iterator digiIt = ((*dtLayerId_It).second).first;
         digiIt!=((*dtLayerId_It).second).second; ++digiIt){
      
      // for clearness..
      int layerIndex = ((*dtLayerId_It).first).rawId();
      int chIndex = ((*dtLayerId_It).first).chamberId().rawId();


      if ((int)(*digiIt).countsTDC() > t0sPeakRange.first &&
          (int)(*digiIt).countsTDC() < t0sPeakRange.second ) {

        // Occupancies
        if (testPulsesOccupancies.find(layerIndex) != testPulsesOccupancies.end())
          testPulsesOccupancies.find(layerIndex)->second->Fill((*digiIt).wire());
        else {
          bookHistos( (*dtLayerId_It).first , string("TPOccupancy"), string("TestPulses") );
          testPulsesOccupancies.find(layerIndex)->second->Fill((*digiIt).wire());
        }

        // Profiles
        if (testPulsesProfiles.find(layerIndex) != testPulsesProfiles.end())
          testPulsesProfiles.find(layerIndex)->second->Fill((*digiIt).wire(),(*digiIt).countsTDC());
        else {
          bookHistos( (*dtLayerId_It).first , string("TPProfile"), string("TestPulses2D") );
          testPulsesProfiles.find(layerIndex)->second->Fill((*digiIt).wire(),(*digiIt).countsTDC());
        }
      }

      // Time Box
      if (testPulsesTimeBoxes.find(chIndex) != testPulsesTimeBoxes.end())
        testPulsesTimeBoxes.find(chIndex)->second->Fill((*digiIt).countsTDC());
      else {
        bookHistos( (*dtLayerId_It).first , string("TPTimeBox"), string("TestPulsesTB") );
        testPulsesTimeBoxes.find(chIndex)->second->Fill((*digiIt).countsTDC());
      }
    }
  }

}
void DTTestPulsesTask::beginJob ( void  ) [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 61 of file DTTestPulsesTask.cc.

References gather_cfg::cout, and nevents.

                               {

  cout<<"[DTTestPulsesTask]: BeginJob"<<endl;

  nevents = 0;

}
void DTTestPulsesTask::beginRun ( const edm::Run run,
const edm::EventSetup context 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 69 of file DTTestPulsesTask.cc.

References edm::EventSetup::get().

                                                                               {

  // Get the geometry
  context.get<MuonGeometryRecord>().get(muonGeom);

  // Get the pedestals tTrig (always get it, even if the TPRange is taken from conf)
  //context.get<DTRangeT0Rcd>().get(t0RangeMap);

}
void DTTestPulsesTask::bookHistos ( const DTLayerId dtLayer,
std::string  folder,
std::string  histoTag 
) [protected]

Book the ME.


Member Data Documentation

Definition at line 66 of file DTTestPulsesTask.h.

Definition at line 70 of file DTTestPulsesTask.h.

Definition at line 64 of file DTTestPulsesTask.h.

Definition at line 68 of file DTTestPulsesTask.h.

Definition at line 72 of file DTTestPulsesTask.h.

std::pair<int, int> DTTestPulsesTask::t0sPeakRange [private]

Definition at line 74 of file DTTestPulsesTask.h.

Definition at line 78 of file DTTestPulsesTask.h.

Definition at line 77 of file DTTestPulsesTask.h.

Definition at line 79 of file DTTestPulsesTask.h.