CMS 3D CMS Logo

Public Member Functions | Private Types | Private Attributes

cms::TrackerizerFP420 Class Reference

#include <TrackerizerFP420.h>

Inheritance diagram for cms::TrackerizerFP420:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

virtual void beginJob ()
virtual void produce (edm::Event &e, const edm::EventSetup &c)
 TrackerizerFP420 (const edm::ParameterSet &conf)
virtual ~TrackerizerFP420 ()

Private Types

typedef std::vector< std::string > vstring

Private Attributes

edm::ParameterSet conf_
FP420TrackMainsFP420TrackMain_
vstring trackerContainers
int verbosity

Detailed Description

Definition at line 31 of file TrackerizerFP420.h.


Member Typedef Documentation

typedef std::vector<std::string> cms::TrackerizerFP420::vstring [private]

Definition at line 46 of file TrackerizerFP420.h.


Constructor & Destructor Documentation

cms::TrackerizerFP420::TrackerizerFP420 ( const edm::ParameterSet conf) [explicit]

Definition at line 27 of file TrackerizerFP420.cc.

References conf_, gather_cfg::cout, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), sFP420TrackMain_, trackerContainers, and verbosity.

                                                               :conf_(conf)     {
    
    std::string alias ( conf.getParameter<std::string>("@module_label") );
    
    produces<TrackCollectionFP420>().setBranchAlias( alias );
    
    trackerContainers.clear();
    trackerContainers = conf.getParameter<std::vector<std::string> >("ROUList");
    
    verbosity = conf_.getUntrackedParameter<int>("VerbosityLevel");
    if (verbosity > 0) {
      std::cout << "Creating a TrackerizerFP420" << std::endl;
    }
    
    // Initialization:
    sFP420TrackMain_ = new FP420TrackMain(conf_);
    
  }
cms::TrackerizerFP420::~TrackerizerFP420 ( ) [virtual]

Definition at line 47 of file TrackerizerFP420.cc.

References sFP420TrackMain_.

                                      {
    delete sFP420TrackMain_;
  }  

Member Function Documentation

void cms::TrackerizerFP420::beginJob ( void  ) [virtual]

Reimplemented from edm::EDProducer.

Definition at line 52 of file TrackerizerFP420.cc.

References gather_cfg::cout, and verbosity.

                                  {
    if (verbosity > 0) {
      std::cout << "BeginJob method " << std::endl;
    }
  }
void cms::TrackerizerFP420::produce ( edm::Event e,
const edm::EventSetup c 
) [virtual]

Implements edm::EDProducer.

Definition at line 59 of file TrackerizerFP420.cc.

References edm::Event::getByLabel(), collect_tpl::input, estimatePileup::inputRange, edm::Event::put(), FP420TrackMain::run(), sFP420TrackMain_, and trackerContainers.

  {
    //  beginJob;
    // be lazy and include the appropriate namespaces
    using namespace edm; 
    using namespace std;   
    
    // Get input
    //A
    //   edm::Handle<ClusterCollectionFP420> icf_simhit;
    /*
    Handle<ClusterCollectionFP420> cf_simhit;
    std::vector<const ClusterCollectionFP420 *> cf_simhitvec;
    for(uint32_t i = 0; i< trackerContainers.size();i++){
      iEvent.getByLabel( trackerContainers[i], cf_simhit);
      cf_simhitvec.push_back(cf_simhit.product());   }
    std::auto_ptr<ClusterCollectionFP420 > input(new DigiCollectionFP420(cf_simhitvec));
    */   
    
    //B
    
      Handle<ClusterCollectionFP420> input;
      iEvent.getByLabel( trackerContainers[0] , input);


       
    
    // Step C: create empty output collection
    std::auto_ptr<TrackCollectionFP420> toutput(new TrackCollectionFP420);
    
    
    
    //    put zero to container info from the beginning (important! because not any detID is updated with coming of new event     !!!!!!   
    // clean info of container from previous event
    
    std::vector<TrackFP420> collector;
    collector.clear();
    TrackCollectionFP420::Range inputRange;
    inputRange.first = collector.begin();
    inputRange.second = collector.end();
    
    unsigned int detID = 0;
    toutput->putclear(inputRange,detID);
    
    unsigned  int StID = 1111;
    toutput->putclear(inputRange,StID);
    StID = 2222;
    toutput->putclear(inputRange,StID);
    
    
    //                                                                                                                      !!!!!!   
    // if we want to keep Track container/Collection for one event --->   uncomment the line below and vice versa
    toutput->clear();   //container_.clear() --> start from the beginning of the container
    
    //                                RUN now:                                                                                 !!!!!!     
    //   startFP420TrackMain_.run(input, toutput);
    sFP420TrackMain_->run(input, toutput);
    // std::cout <<"=======           TrackerizerFP420:                    end of produce     " << std::endl;
    
        // Step D: write output to file
        iEvent.put(toutput);
  }//produce

Member Data Documentation

Definition at line 47 of file TrackerizerFP420.h.

Referenced by TrackerizerFP420().

Definition at line 50 of file TrackerizerFP420.h.

Referenced by produce(), TrackerizerFP420(), and ~TrackerizerFP420().

Definition at line 48 of file TrackerizerFP420.h.

Referenced by produce(), and TrackerizerFP420().

Definition at line 53 of file TrackerizerFP420.h.

Referenced by beginJob(), and TrackerizerFP420().