Skip to content

Commit

Permalink
Merge pull request #19130 from ianna/geom-mt-analyzers
Browse files Browse the repository at this point in the history
Use Thread-safe Analyzers
  • Loading branch information
cmsbuild committed Jun 8, 2017
2 parents 3187cf6 + 27745df commit 7dd93d0
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 153 deletions.
41 changes: 6 additions & 35 deletions GeometryReaders/XMLIdealGeometryESSource/test/ExtractXMLFile.cc
Expand Up @@ -24,7 +24,7 @@

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
Expand All @@ -43,55 +43,30 @@

#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"

//#include "DataSvc/RefException.h"
//#include "CoralBase/Exception.h"

//
// class decleration
//

class ExtractXMLFile : public edm::EDAnalyzer {
class ExtractXMLFile : public edm::one::EDAnalyzer<> {
public:
explicit ExtractXMLFile( const edm::ParameterSet& );
~ExtractXMLFile();


virtual void analyze( const edm::Event&, const edm::EventSetup& );
void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

private:
// ----------member data ---------------------------
std::string label_;
std::string fname_;
};

//
// constants, enums and typedefs
//

//
// static data member definitions
//

//
// constructors and destructor
//
ExtractXMLFile::ExtractXMLFile( const edm::ParameterSet& iConfig ) :
label_(iConfig.getUntrackedParameter<std::string>("label","")),
fname_(iConfig.getUntrackedParameter<std::string>("fname",""))
{
}


ExtractXMLFile::~ExtractXMLFile()
{

}


//
// member functions
//

// ------------ method called to produce the data ------------
void
ExtractXMLFile::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup )
{
Expand All @@ -100,13 +75,9 @@ ExtractXMLFile::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup
std::cout << "Here I am " << std::endl;
edm::ESHandle<FileBlob> gdd;
iSetup.get<GeometryFileRcd>().get(label_, gdd);
//std::unique_ptr<std::vector<unsigned char> > tb = (*gdd).getUncompressedBlob();
std::ofstream f(fname_.c_str());
(*gdd).write(f);
//f.close();
std::cout << "finished" << std::endl;
}


//define this as a plug-in
DEFINE_FWK_MODULE(ExtractXMLFile);
Expand Up @@ -16,15 +16,12 @@
//
//


// system include files
#include <memory>
#include <iostream>
#include <fstream>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
Expand All @@ -43,22 +40,17 @@

#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"

//#include "DataSvc/RefException.h"
//#include "CoralBase/Exception.h"

//
// class decleration
//

class PerfectGeometryAnalyzer : public edm::EDAnalyzer {
class PerfectGeometryAnalyzer : public edm::one::EDAnalyzer<> {
public:
explicit PerfectGeometryAnalyzer( const edm::ParameterSet& );
~PerfectGeometryAnalyzer();


virtual void analyze( const edm::Event&, const edm::EventSetup& );
void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

private:
// ----------member data ---------------------------

std::string label_;
bool isMagField_;
bool dumpHistory_;
Expand All @@ -70,17 +62,6 @@ class PerfectGeometryAnalyzer : public edm::EDAnalyzer {
std::string ddRootNodeName_;
};

//
// constants, enums and typedefs
//

//
// static data member definitions
//

//
// constructors and destructor
//
PerfectGeometryAnalyzer::PerfectGeometryAnalyzer( const edm::ParameterSet& iConfig ) :
label_(iConfig.getUntrackedParameter<std::string>("label","")),
isMagField_(iConfig.getUntrackedParameter<bool>("isMagField",false)),
Expand All @@ -97,18 +78,10 @@ PerfectGeometryAnalyzer::PerfectGeometryAnalyzer( const edm::ParameterSet& iConf
}
}


PerfectGeometryAnalyzer::~PerfectGeometryAnalyzer()
{

}


//
// member functions
//

// ------------ method called to produce the data ------------
void
PerfectGeometryAnalyzer::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup )
{
Expand All @@ -135,6 +108,4 @@ PerfectGeometryAnalyzer::analyze( const edm::Event& iEvent, const edm::EventSetu
std::cout << "finished" << std::endl;
}


//define this as a plug-in
DEFINE_FWK_MODULE(PerfectGeometryAnalyzer);
Expand Up @@ -25,17 +25,21 @@
#include <iomanip>

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/MakerMacros.h"

class TestCompareDDDumpFiles : public edm::EDAnalyzer {
class TestCompareDDDumpFiles : public edm::one::EDAnalyzer<> {
public:
explicit TestCompareDDDumpFiles( const edm::ParameterSet& );
~TestCompareDDDumpFiles();
virtual void analyze( const edm::Event&, const edm::EventSetup& );

void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

private:
std::string fname1_;
std::string fname2_;
Expand Down
Expand Up @@ -20,16 +20,19 @@
#include <boost/tokenizer.hpp>
#include <boost/algorithm/string.hpp>

#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/MakerMacros.h"

class TestCompareDDSpecsDumpFiles
: public edm::EDAnalyzer
: public edm::one::EDAnalyzer<>
{
public:
explicit TestCompareDDSpecsDumpFiles( const edm::ParameterSet& );
~TestCompareDDSpecsDumpFiles( void );
virtual void analyze( const edm::Event&, const edm::EventSetup& );

void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

private:
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
Expand Down
Expand Up @@ -16,15 +16,12 @@
//
//


// system include files
#include <memory>
#include <iostream>
#include <fstream>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
Expand All @@ -43,57 +40,24 @@
#include "CondFormats/Common/interface/FileBlob.h"
#include "Geometry/Records/interface/GeometryFileRcd.h"


//
// class decleration
//

class TestIdealGeometryESProducer : public edm::EDAnalyzer {
class TestIdealGeometryESProducer : public edm::one::EDAnalyzer<> {
public:
explicit TestIdealGeometryESProducer( const edm::ParameterSet& );
~TestIdealGeometryESProducer();


virtual void analyze( const edm::Event&, const edm::EventSetup& );
private:
// ----------member data ---------------------------
void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}
};

//
// constants, enums and typedefs
//

//
// static data member definitions
//

//
// constructors and destructor
//
TestIdealGeometryESProducer::TestIdealGeometryESProducer( const edm::ParameterSet& iConfig )
// : label_(iConfig.getUntrackedParameter<std::string>("label","")),
// isMagField_(iConfig.getUntrackedParameter<bool>("isMagField",false))
{
// dumpHistory_=iConfig.getUntrackedParameter<bool>("dumpGeoHistory");
// dumpPosInfo_=iConfig.getUntrackedParameter<bool>("dumpPosInfo");
// dumpSpecs_=iConfig.getUntrackedParameter<bool>("dumpSpecs");
// if ( isMagField_ ) {
// label_ = "magfield";
// }
}


TestIdealGeometryESProducer::~TestIdealGeometryESProducer()
{

}


//
// member functions
//

// ------------ method called to produce the data ------------
void
TestIdealGeometryESProducer::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup )
{
Expand All @@ -108,6 +72,4 @@ TestIdealGeometryESProducer::analyze( const edm::Event& iEvent, const edm::Event
std::cout << "finished" << std::endl;
}


//define this as a plug-in
DEFINE_FWK_MODULE(TestIdealGeometryESProducer);
Expand Up @@ -12,16 +12,12 @@
*/
//



// system include files
#include <memory>
#include <iostream>
#include <fstream>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
Expand All @@ -42,35 +38,21 @@
#include "CondFormats/Common/interface/FileBlob.h"
#include "Geometry/Records/interface/GeometryFileRcd.h"

//
// class decleration
//

class TestSpecParAnalyzer : public edm::EDAnalyzer {
class TestSpecParAnalyzer : public edm::one::EDAnalyzer<> {
public:
explicit TestSpecParAnalyzer( const edm::ParameterSet& );
~TestSpecParAnalyzer();


virtual void analyze( const edm::Event&, const edm::EventSetup& );
void beginJob() override {}
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

private:
// ----------member data ---------------------------
std::string specName_;
std::string specStrValue_;
double specDblValue_;
};

//
// constants, enums and typedefs
//

//
// static data member definitions
//

//
// constructors and destructor
//
TestSpecParAnalyzer::TestSpecParAnalyzer( const edm::ParameterSet& iConfig ) :
specName_(iConfig.getParameter<std::string>("specName")),
specStrValue_(iConfig.getUntrackedParameter<std::string>("specStrValue", "frederf")),
Expand All @@ -80,15 +62,8 @@ TestSpecParAnalyzer::TestSpecParAnalyzer( const edm::ParameterSet& iConfig ) :

TestSpecParAnalyzer::~TestSpecParAnalyzer()
{

}


//
// member functions
//

// ------------ method called to produce the data ------------
void
TestSpecParAnalyzer::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup )
{
Expand Down Expand Up @@ -134,6 +109,4 @@ TestSpecParAnalyzer::analyze( const edm::Event& iEvent, const edm::EventSetup& i
std::cout << "finished" << std::endl;
}


//define this as a plug-in
DEFINE_FWK_MODULE(TestSpecParAnalyzer);

0 comments on commit 7dd93d0

Please sign in to comment.