diff --git a/[refs] b/[refs] index 51968d162268b..01ce729fa3f5f 100644 --- a/[refs] +++ b/[refs] @@ -2,4 +2,4 @@ refs/heads/gh-pages: 4bec1f03ca2f14e90d0ca17351c4d42d84ec2c82 "refs/heads/CMSSW_6_2_X_SLHC": 5893ef29c12b2718b3c1385e821170f91afb5446 "refs/heads/CMSSW_5_3_X": 90eebdc93fdcd1c69c8670cdb1376c336a5876bd -refs/heads/gem-CR-stand: 2f6357559965f41d21ae59e7e48ea8d4feb22577 +refs/heads/gem-CR-stand: 6afb5006f4f7f69eb7a2fcf037eaa593b092fcb4 diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/macros/PlotAlignmentValidation.C b/branches/gem-CR-stand/Alignment/OfflineValidation/macros/PlotAlignmentValidation.C index 06c6e78f234c5..401f45105dd52 100644 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/macros/PlotAlignmentValidation.C +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/macros/PlotAlignmentValidation.C @@ -503,7 +503,7 @@ void PlotAlignmentValidation::plotSS( const std::string& options, const std::str //------------------------------------------------------------------------------ void PlotAlignmentValidation::plotDMR(const std::string& variable, Int_t minHits, const std::string& options) { - // If several, comma-separated values are given, + // If several, comma-separated values are given in 'variable', // call plotDMR with each value separately. // If a comma is found, the string is divided to two. // (no space allowed) @@ -525,6 +525,14 @@ void PlotAlignmentValidation::plotDMR(const std::string& variable, Int_t minHits return; } + // options: + // -plain (default, the whole distribution) + // -split (distribution splitted to two) + // -layers (plain db for each layer/disc superimposed in one plot) + // -layersSeparate (plain db for each layer/disc in separate plots) + // -layersSplit (splitted db for each layers/disc in one plot) + // -layersSplitSeparate (splitted db, for each layers/disc in separate plots) + TRegexp layer_re("layer=[0-9]+"); bool plotPlain = false, plotSplits = false, plotLayers = false; int plotLayerN = 0; @@ -565,10 +573,13 @@ void PlotAlignmentValidation::plotDMR(const std::string& variable, Int_t minHits plotinfo.plotPlain = plotPlain; plotinfo.plotLayers = plotLayers; + // width in cm + // for DMRS, use 100 bins in range +-10 um, bin width 0.2um + // if modified, check also TrackerOfflineValidationSummary_cfi.py and TrackerOfflineValidation_Standalone_cff.py if (variable == "meanX") { plotinfo.nbins = 50; plotinfo.min = -0.001; plotinfo.max = 0.001; } else if (variable == "meanY") { plotinfo.nbins = 50; plotinfo.min = -0.005; plotinfo.max = 0.005; } - else if (variable == "medianX") { plotinfo.nbins = 50; plotinfo.min = -0.005; plotinfo.max = 0.005; } - else if (variable == "medianY") { plotinfo.nbins = 50; plotinfo.min = -0.005; plotinfo.max = 0.005; } + else if (variable == "medianX") { plotinfo.nbins = 100; plotinfo.min = -0.001; plotinfo.max = 0.001; } + else if (variable == "medianY") { plotinfo.nbins = 100; plotinfo.min = -0.001; plotinfo.max = 0.001; } else if (variable == "meanNormX") { plotinfo.nbins = 100; plotinfo.min = -2.0; plotinfo.max = 2.0; } else if (variable == "meanNormY") { plotinfo.nbins = 100; plotinfo.min = -2.0; plotinfo.max = 2.0; } else if (variable == "rmsX") { plotinfo.nbins = 100; plotinfo.min = 0.0; plotinfo.max = 0.1; } diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidation.py b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidation.py index ae4172ac989eb..f1ccc8d3efe8f 100644 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidation.py +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidation.py @@ -106,6 +106,13 @@ def __init__(self, valName, alignment,config): defaultDict = defaults ) self.general.update( offline ) self.__NJobs = self.general["parallelJobs"] + self.outputFiles = [] + for index in range(int(self.general["parallelJobs"])): + fName = replaceByMap("AlignmentValidation_"+self.name + +"_.oO[name]Oo._%d.root"%(index), + self.getRepMap()) + self.outputFiles.append(fName) + def createConfiguration(self, path, configBaseName = "TkAlOfflineValidation"): # if offline validation uses N parallel jobs, we create here N cfg files @@ -140,12 +147,7 @@ def createConfiguration(self, path, configBaseName = "TkAlOfflineValidation"): repMap.update({"nIndex": str(index)}) # Create the result file directly to datadir since should not use /tmp/ # see https://cern.service-now.com/service-portal/article.do?n=KB0000484 - repMap.update({ - "outputFile": replaceByMap("AlignmentValidation_" - + self.name + - "_.oO[name]Oo._.oO[nIndex]Oo..root", - repMap ) - }) + repMap.update({"outputFile": self.outputFiles[index]}) repMap["outputFile"] = os.path.expandvars( repMap["outputFile"] ) cfgs = {cfgName:replaceByMap(configTemplates.offlineParallelTemplate, @@ -168,12 +170,7 @@ def createScript(self, path, scriptBaseName = "TkAlOfflineValidation"): repMap["nIndex"]="" repMap["nIndex"]=str(index) repMap["CommandLine"]="" - repMap.update({ - "outputFile": replaceByMap("AlignmentValidation_" - + self.name + - "_.oO[name]Oo._.oO[nIndex]Oo..root", - repMap ) - }) + repMap.update({"outputFile": self.outputFiles[index]}) for cfg in self.configFiles: # The ugly solution here is to change the name for each parallel job cfgtemp = cfg.replace(str(numJobs-1)+"_cfg.py", diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidationTemplates.py b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidationTemplates.py index 29a85b390aff7..8c1e791f67f48 100644 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidationTemplates.py +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TkAlAllInOneTool/offlineValidationTemplates.py @@ -416,15 +416,8 @@ # ls -al .oO[datadir]Oo./AlignmentValidation*.root > .oO[datadir]Oo./log_rootfilelist.txt ls -al AlignmentValidation*.root > .oO[datadir]Oo./log_rootfilelist.txt -# Remove parallel job files if merged file exists -for file in $(cmsLs -l /store/caf/user/$USER/.oO[eosdir]Oo. |awk '{print $5}') -do - if [[ ${file} = /store/caf/user/$USER/.oO[eosdir]Oo./AlignmentValidation*_[0-9].root ]] - then - cmsRm ${file} - fi -done - +# Remove parallel job files +.oO[rmUnmerged]Oo. """ diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidationSummary_cfi.py b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidationSummary_cfi.py index 6c655f25fb222..39257f6656935 100644 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidationSummary_cfi.py +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidationSummary_cfi.py @@ -9,7 +9,10 @@ # DMR (distribution of median of residuals per module) of X coordinate (Strip) TH1DmrXprimeStripModules = cms.PSet( - Nbinx = cms.int32(200), xmin = cms.double(-0.05), xmax = cms.double(0.05) + # width 2.0 um +# Nbinx = cms.int32(500), xmin = cms.double(-0.05), xmax = cms.double(0.05) + # width 0.5 um + Nbinx = cms.int32(5000), xmin = cms.double(-0.05), xmax = cms.double(0.05) ), # DMR (distribution of median of residuals per module) of Y coordinate (Strip) @@ -19,12 +22,14 @@ # DMR (distribution of median of residuals per module) of X coordinate (Pixel) TH1DmrXprimePixelModules = cms.PSet( - Nbinx = cms.int32(200), xmin = cms.double(-0.05), xmax = cms.double(0.05) +# Nbinx = cms.int32(500), xmin = cms.double(-0.05), xmax = cms.double(0.05) + Nbinx = cms.int32(5000), xmin = cms.double(-0.05), xmax = cms.double(0.05) ), # DMR (distribution of median of residuals per module) of Y coordinate (Pixel) TH1DmrYprimePixelModules = cms.PSet( - Nbinx = cms.int32(200), xmin = cms.double(-0.05), xmax = cms.double(0.05) +# Nbinx = cms.int32(200), xmin = cms.double(-0.05), xmax = cms.double(0.05) + Nbinx = cms.int32(5000), xmin = cms.double(-0.05), xmax = cms.double(0.05) ) ) diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidation_Standalone_cff.py b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidation_Standalone_cff.py index a354119420cbd..c9faeb2052e31 100644 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidation_Standalone_cff.py +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/python/TrackerOfflineValidation_Standalone_cff.py @@ -14,11 +14,11 @@ #TrackerOfflineValidation.TH1NormXResStripModules.xmin = -3.0 #TrackerOfflineValidation.TH1NormXResStripModules.xmax = 3.0 -TrackerOfflineValidation.TH1XprimeResStripModules.Nbinx = 2000 -TrackerOfflineValidation.TH1XprimeResStripModules.xmin = -0.1 #-0.5 -TrackerOfflineValidation.TH1XprimeResStripModules.xmax = 0.1 #0.5 +TrackerOfflineValidation.TH1XprimeResStripModules.Nbinx = 5000 +TrackerOfflineValidation.TH1XprimeResStripModules.xmin = -0.05 #-0.5 +TrackerOfflineValidation.TH1XprimeResStripModules.xmax = 0.05 #0.5 -#TrackerOfflineValidation.TH1XResStripModules.Nbinx = 2000 +#TrackerOfflineValidation.TH1XResStripModules.Nbinx = 5000 #TrackerOfflineValidation.TH1XResStripModules.xmin = -0.5 #TrackerOfflineValidation.TH1XResStripModules.xmax = 0.5 @@ -26,7 +26,7 @@ TrackerOfflineValidation.TH1NormYResStripModules.xmin = -3.0 TrackerOfflineValidation.TH1NormYResStripModules.xmax = 3.0 -TrackerOfflineValidation.TH1YResStripModules.Nbinx = 2000 +TrackerOfflineValidation.TH1YResStripModules.Nbinx = 5000 TrackerOfflineValidation.TH1YResStripModules.xmin = -11.0 TrackerOfflineValidation.TH1YResStripModules.xmax = 11.0 @@ -38,11 +38,11 @@ #TrackerOfflineValidation.TH1NormXResPixelModules.xmin = -3.0 #TrackerOfflineValidation.TH1NormXResPixelModules.xmax = 3.0 -TrackerOfflineValidation.TH1XprimeResPixelModules.Nbinx = 2000 -TrackerOfflineValidation.TH1XprimeResPixelModules.xmin = -0.1 #-0.5 -TrackerOfflineValidation.TH1XprimeResPixelModules.xmax = 0.1 #0.5 +TrackerOfflineValidation.TH1XprimeResPixelModules.Nbinx = 5000 +TrackerOfflineValidation.TH1XprimeResPixelModules.xmin = -0.05 #-0.5 +TrackerOfflineValidation.TH1XprimeResPixelModules.xmax = 0.05 #0.5 -#TrackerOfflineValidation.TH1XResPixelModules.Nbinx = 2000 +#TrackerOfflineValidation.TH1XResPixelModules.Nbinx = 5000 #TrackerOfflineValidation.TH1XResPixelModules.xmin = -0.5 #TrackerOfflineValidation.TH1XResPixelModules.xmax = 0.5 @@ -50,9 +50,9 @@ TrackerOfflineValidation.TH1NormYResPixelModules.xmin = -3.0 TrackerOfflineValidation.TH1NormYResPixelModules.xmax = 3.0 -TrackerOfflineValidation.TH1YResPixelModules.Nbinx = 2000 -TrackerOfflineValidation.TH1YResPixelModules.xmin = -0.1 #-0.5 -TrackerOfflineValidation.TH1YResPixelModules.xmax = 0.1 #0.5 +TrackerOfflineValidation.TH1YResPixelModules.Nbinx = 5000 +TrackerOfflineValidation.TH1YResPixelModules.xmin = -0.05 #-0.5 +TrackerOfflineValidation.TH1YResPixelModules.xmax = 0.05 #0.5 TrackerOfflineValidation.TProfileXResStripModules.Nbinx = 34 TrackerOfflineValidation.TProfileXResStripModules.xmin = -1.02 diff --git a/branches/gem-CR-stand/Alignment/OfflineValidation/scripts/validateAlignments.py b/branches/gem-CR-stand/Alignment/OfflineValidation/scripts/validateAlignments.py index b12b0f53c2a49..fa3c73c0dfbec 100755 --- a/branches/gem-CR-stand/Alignment/OfflineValidation/scripts/validateAlignments.py +++ b/branches/gem-CR-stand/Alignment/OfflineValidation/scripts/validateAlignments.py @@ -298,14 +298,27 @@ def createParallelMergeScript( path, validations ): # introduced to merge individual validation outputs separately # -> avoids problems with merge script - repMap["haddLoop"] = "" + repMap["haddLoop"] = "mergeRetCode=0\n" + repMap["rmUnmerged"] = "if [[ mergeRetCode -eq 0 ]]; then\n" for validation in comparisonLists["OfflineValidationParallel"]: repMap["haddLoop"] = validation.appendToMergeParJobs(repMap["haddLoop"]) + repMap["haddLoop"] += "tmpMergeRetCode=${?}\n" + repMap["haddLoop"] += ("if [[ mergeRetCode -eq 0 ]]; " + "then mergeRetCode=${tmpMergeRetCode}; " + "fi\n") repMap["haddLoop"] += ("cmsStage -f " +validation.getRepMap()["outputFile"] +" " +validation.getRepMap()["resultFile"] +"\n") + for f in validation.outputFiles: + longName = os.path.join("/store/caf/user/$USER/", + validation.getRepMap()["eosdir"], f) + repMap["rmUnmerged"] += " cmsRm "+longName+"\n" + repMap["rmUnmerged"] += ("else\n" + " echo \"WARNING: Merging failed, unmerged" + " files won't be deleted.\"\n" + "fi\n") repMap["RunExtendedOfflineValidation"] = \ replaceByMap(configTemplates.extendedValidationExecution, repMap) diff --git a/branches/gem-CR-stand/CalibFormats/SiStripObjects/src/SiStripFecCabling.cc b/branches/gem-CR-stand/CalibFormats/SiStripObjects/src/SiStripFecCabling.cc index 60adea2698505..35958a2378d60 100644 --- a/branches/gem-CR-stand/CalibFormats/SiStripObjects/src/SiStripFecCabling.cc +++ b/branches/gem-CR-stand/CalibFormats/SiStripObjects/src/SiStripFecCabling.cc @@ -156,8 +156,7 @@ const SiStripModule& SiStripFecCabling::module( const FedChannelConnection& conn } if ( !ss.str().empty() ) { edm::LogWarning(mlCabling_) << ss.str(); } - static FedChannelConnection temp; - static const SiStripModule module(temp); + static const SiStripModule module{FedChannelConnection{}}; return module; } @@ -175,8 +174,7 @@ const SiStripModule& SiStripFecCabling::module( const uint32_t& dcu_id ) const { } } } - static const FedChannelConnection temp; - static const SiStripModule module(temp); + static const SiStripModule module{FedChannelConnection{}}; return module; } diff --git a/branches/gem-CR-stand/DataFormats/Provenance/interface/ModuleDescription.h b/branches/gem-CR-stand/DataFormats/Provenance/interface/ModuleDescription.h index 42b0e7adee256..73e75d4e72cf0 100644 --- a/branches/gem-CR-stand/DataFormats/Provenance/interface/ModuleDescription.h +++ b/branches/gem-CR-stand/DataFormats/Provenance/interface/ModuleDescription.h @@ -18,7 +18,7 @@ namespace edm { // once a module is born, these parts of the module's product provenance // are constant (change to ModuleDescription) - + class ModuleDescription { public: @@ -70,6 +70,15 @@ namespace edm { ///Returns a unique id each time called. Intended to be passed to ModuleDescription's constructor's modID argument. Thread safe. static unsigned int getUniqueID(); + ///Returns a value identifying an invalid id (the max unsigned int value) +#if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__) + static constexpr unsigned int invalidID() { + return std::numeric_limits::max(); + } +#else + static unsigned int invalidID(); +#endif + private: // ID of parameter set of the creator @@ -84,7 +93,7 @@ namespace edm { // The process configuration. ProcessConfiguration const* processConfigurationPtr_; - + unsigned int id_; }; diff --git a/branches/gem-CR-stand/DataFormats/Provenance/src/ModuleDescription.cc b/branches/gem-CR-stand/DataFormats/Provenance/src/ModuleDescription.cc index bbb002d532364..acedcefe0202a 100644 --- a/branches/gem-CR-stand/DataFormats/Provenance/src/ModuleDescription.cc +++ b/branches/gem-CR-stand/DataFormats/Provenance/src/ModuleDescription.cc @@ -18,13 +18,12 @@ namespace edm { moduleName_(), moduleLabel_(), processConfigurationPtr_(nullptr), - id_(std::numeric_limits::max()){} + id_(invalidID()){} ModuleDescription::ModuleDescription( ParameterSetID const& pid, std::string const& modName, - std::string const& modLabel) : ModuleDescription{pid, modName, modLabel, nullptr, - std::numeric_limits::max()} {} + std::string const& modLabel) : ModuleDescription{pid, modName, modLabel, nullptr, invalidID()} {} ModuleDescription::ModuleDescription( ParameterSetID const& pid, @@ -40,12 +39,12 @@ namespace edm { ModuleDescription::ModuleDescription( std::string const& modName, - std::string const& modLabel) : ModuleDescription{ParameterSetID(), modName, modLabel, nullptr,std::numeric_limits::max()} {} + std::string const& modLabel) : ModuleDescription{ParameterSetID(), modName, modLabel, nullptr, invalidID()} {} ModuleDescription::ModuleDescription( std::string const& modName, std::string const& modLabel, - ProcessConfiguration const* procConfig) : ModuleDescription{ParameterSetID(), modName, modLabel, procConfig,std::numeric_limits::max()} {} + ProcessConfiguration const* procConfig) : ModuleDescription{ParameterSetID(), modName, modLabel, procConfig, invalidID()} {} ModuleDescription::~ModuleDescription() {} @@ -104,7 +103,7 @@ namespace edm { ModuleDescription::getUniqueID() { return s_id++; } - + void ModuleDescription::write(std::ostream& os) const { os << "Module type=" << moduleName() << ", " diff --git a/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h b/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h index b5132ab036911..eb8c275e3b1ae 100644 --- a/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h +++ b/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/interface/SiPixelRecHitQuality.h @@ -127,7 +127,7 @@ class SiPixelRecHitQuality { //--- Setters: the inverse of the above. //------------------------------------------------------ // - inline void setProbabilityXY( float prob, QualWordType & qualWord ) { + inline void setProbabilityXY( float prob, QualWordType & qualWord ) const { if(prob<0 || prob>1) { edm::LogWarning("OutOfBounds") << "Prob XY outside the bounds of the quality word. Defaulting to Prob=0. Prob = " << prob << " QualityWord = " << qualWord; prob=0; @@ -137,7 +137,7 @@ class SiPixelRecHitQuality { // cout << "Prob = " << prob << " --> Bits = " << raw << endl; qualWord |= ((raw & probX_mask) << probX_shift); } - inline void setProbabilityQ( float prob, QualWordType & qualWord ) { + inline void setProbabilityQ( float prob, QualWordType & qualWord ) const { if(prob<0 || prob>1) { edm::LogWarning("OutOfBounds") << "Prob Q outside the bounds of the quality word. Defaulting to Prob=0. Prob = " << prob << " QualityWord = " << qualWord; prob=0; @@ -149,7 +149,7 @@ class SiPixelRecHitQuality { } - inline void setQBin( int qbin, QualWordType & qualWord ) { + inline void setQBin( int qbin, QualWordType & qualWord ) const { if(qbin<0 || qbin >7) { edm::LogWarning("OutOfBounds") << "Qbin outside the bounds of the quality word. Defaulting to Qbin=0. Qbin = " << qbin << " QualityWord = " << qualWord; qbin=0; @@ -157,22 +157,22 @@ class SiPixelRecHitQuality { qualWord |= ((qbin & qBin_mask) << qBin_shift); } - inline void setIsOnEdge( bool flag, QualWordType & qualWord ) { + inline void setIsOnEdge( bool flag, QualWordType & qualWord ) const { qualWord |= ((flag & edge_mask) << edge_shift); } - inline void setHasBadPixels( bool flag, QualWordType & qualWord ) { + inline void setHasBadPixels( bool flag, QualWordType & qualWord ) const { qualWord |= ((flag & bad_mask) << bad_shift); } - inline void setSpansTwoROCs( bool flag, QualWordType & qualWord ) { + inline void setSpansTwoROCs( bool flag, QualWordType & qualWord ) const { qualWord |= ((flag & twoROC_mask) << twoROC_shift); } - inline void setHasFilledProb( bool flag, QualWordType & qualWord ) { + inline void setHasFilledProb( bool flag, QualWordType & qualWord ) const { qualWord |= ((flag & hasFilledProb_mask) << hasFilledProb_shift); } }; public: - static Packing thePacking; + static const Packing thePacking; }; #endif diff --git a/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc b/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc index 8a91ace4714ec..9dd3643ed0d3f 100644 --- a/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc +++ b/branches/gem-CR-stand/DataFormats/TrackerRecHit2D/src/SiPixelRecHitQuality.cc @@ -52,5 +52,5 @@ SiPixelRecHitQuality::Packing::Packing() } // Initialize the packing format singleton -SiPixelRecHitQuality::Packing SiPixelRecHitQuality::thePacking; +const SiPixelRecHitQuality::Packing SiPixelRecHitQuality::thePacking; diff --git a/branches/gem-CR-stand/FWCore/ParameterSet/python/Types.py b/branches/gem-CR-stand/FWCore/ParameterSet/python/Types.py index 1c0af25c1621d..f363805fe385e 100644 --- a/branches/gem-CR-stand/FWCore/ParameterSet/python/Types.py +++ b/branches/gem-CR-stand/FWCore/ParameterSet/python/Types.py @@ -39,6 +39,8 @@ def _valueFromString(value): return int32(int(value)) def insertInto(self, parameterSet, myname): parameterSet.addInt32(self.isTracked(), myname, self.value()) + def __nonzero__(self): + return self.value()!=0 class uint32(_SimpleParameterTypeBase): @@ -54,6 +56,8 @@ def _valueFromString(value): return uint32(long(value)) def insertInto(self, parameterSet, myname): parameterSet.addUInt32(self.isTracked(), myname, self.value()) + def __nonzero__(self): + return self.value()!=0 @@ -71,6 +75,8 @@ def _valueFromString(value): return int64(long(value)) def insertInto(self, parameterSet, myname): parameterSet.addInt64(self.isTracked(), myname, self.value()) + def __nonzero__(self): + return self.value()!=0 @@ -87,6 +93,8 @@ def _valueFromString(value): return uint64(long(value)) def insertInto(self, parameterSet, myname): parameterSet.addUInt64(self.isTracked(), myname, self.value()) + def __nonzero__(self): + return self.value()!=0 @@ -104,6 +112,8 @@ def _valueFromString(value): return double(float(value)) def insertInto(self, parameterSet, myname): parameterSet.addDouble(self.isTracked(), myname, float(self.value())) + def __nonzero__(self): + return self.value()!=0. import __builtin__ @@ -125,6 +135,8 @@ def _valueFromString(value): raise RuntimeError('can not make bool from string '+value) def insertInto(self, parameterSet, myname): parameterSet.addBool(self.isTracked(), myname, self.value()) + def __nonzero__(self): + return self.value() @@ -159,6 +171,8 @@ def insertInto(self, parameterSet, myname): #if value == '\0': # value = '' parameterSet.addString(self.isTracked(), myname, value) + def __nonzero__(self): + return len(self.value()) !=0 class EventID(_ParameterTypeBase): @@ -190,7 +204,7 @@ def _isValid(value): @staticmethod def _valueFromString(value): parts = value.split(":") - run = parts[0] + run = parts[0] try: lumi = parts[1] event = parts[2] @@ -1186,15 +1200,19 @@ class testTypes(unittest.TestCase): def testint32(self): i = int32(1) self.assertEqual(i.value(),1) + self.assert_(i) self.assertRaises(ValueError,int32,"i") i = int32._valueFromString("0xA") self.assertEqual(i.value(),10) + self.assert_(not int32(0)) def testuint32(self): i = uint32(1) self.assertEqual(i.value(),1) + self.assert_(i) i = uint32(0) self.assertEqual(i.value(),0) + self.assert_(not i) self.assertRaises(ValueError,uint32,"i") self.assertRaises(ValueError,uint32,-1) i = uint32._valueFromString("0xA") @@ -1203,9 +1221,11 @@ def testuint32(self): def testvint32(self): v = vint32() self.assertEqual(len(v),0) + self.assert_(not v) v.append(1) self.assertEqual(len(v),1) self.assertEqual(v[0],1) + self.assert_(v) v.append(2) v.insert(1,3) self.assertEqual(v[1],3) @@ -1219,8 +1239,10 @@ def testvint32(self): def testbool(self): b = bool(True) self.assertEqual(b.value(),True) + self.assert_(b) b = bool(False) self.assertEqual(b.value(),False) + self.assert_(not b) b = bool._valueFromString("2") self.assertEqual(b.value(),True) self.assertEqual(repr(b), "cms.bool(True)") @@ -1228,11 +1250,13 @@ def testString(self): s=string('this is a test') self.assertEqual(s.value(),'this is a test') self.assertEqual(repr(s), "cms.string(\'this is a test\')") + self.assert_(s) s=string('\0') self.assertEqual(s.value(),'\0') self.assertEqual(s.configValue(),"'\\0'") s2=string('') self.assertEqual(s2.value(),'') + self.assert_(not s2) def testvstring(self): a = vstring("", "Barack", "John", "Sarah", "Joe") self.assertEqual(len(a), 5) diff --git a/branches/gem-CR-stand/FWCore/PluginManager/interface/PluginFactory.h b/branches/gem-CR-stand/FWCore/PluginManager/interface/PluginFactory.h index fca59eda0e208..e966638aee74b 100644 --- a/branches/gem-CR-stand/FWCore/PluginManager/interface/PluginFactory.h +++ b/branches/gem-CR-stand/FWCore/PluginManager/interface/PluginFactory.h @@ -99,5 +99,5 @@ namespace edmplugin {\ #define EDM_PLUGIN_SYM2(x,y) x ## y #define DEFINE_EDM_PLUGIN(factory,type,name) \ -static factory::PMaker EDM_PLUGIN_SYM(s_maker , __LINE__ ) (name) +static const factory::PMaker EDM_PLUGIN_SYM(s_maker , __LINE__ ) (name) diff --git a/branches/gem-CR-stand/FWCore/Services/plugins/ConcurrentModuleTimer.cc b/branches/gem-CR-stand/FWCore/Services/plugins/ConcurrentModuleTimer.cc new file mode 100644 index 0000000000000..c40e406a5fbb6 --- /dev/null +++ b/branches/gem-CR-stand/FWCore/Services/plugins/ConcurrentModuleTimer.cc @@ -0,0 +1,186 @@ +// -*- C++ -*- +// +// Package: Subsystem/Package +// Class : ConcurrentModuleTimer +// +// Implementation: +// [Notes on implementation] +// +// Original Author: Chris Jones +// Created: Tue, 10 Dec 2013 21:16:00 GMT +// +#include +#include +#include +#include + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/ServiceRegistry/interface/ActivityRegistry.h" +#include "FWCore/Utilities/interface/CPUTimer.h" +#include "FWCore/ServiceRegistry/interface/ServiceMaker.h" +#include "FWCore/ServiceRegistry/interface/SystemBounds.h" + + +namespace edm { + namespace service { + class ConcurrentModuleTimer { + public: + ConcurrentModuleTimer(edm::ParameterSet const& iConfig, edm::ActivityRegistry& iAR); + ~ConcurrentModuleTimer(); + //static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); + private: + void start(); + void stop(); + + std::unique_ptr[]> m_timeSums; + std::chrono::high_resolution_clock::time_point m_time; + unsigned int m_nTimeSums; + unsigned int m_nModules; + std::atomic m_spinLock; + bool m_startedTiming; + }; + } +} + +using namespace edm::service; +// system include files + +// user include files + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +ConcurrentModuleTimer::ConcurrentModuleTimer(edm::ParameterSet const& iConfig, edm::ActivityRegistry& iReg): +m_time(), +m_nModules(0), +m_spinLock{false}, +m_startedTiming(false) +{ + iReg.watchPreModuleEvent([this](StreamContext const&, ModuleCallingContext const&){ + start(); + }); + iReg.watchPostModuleEvent([this](StreamContext const&, ModuleCallingContext const&){ + stop(); + }); + + iReg.watchPreModuleEventDelayedGet([this](StreamContext const&, ModuleCallingContext const&){ + stop(); + }); + iReg.watchPostModuleEventDelayedGet([this](StreamContext const&, ModuleCallingContext const&){ + start(); + }); + + iReg.watchPreallocate([this](edm::service::SystemBounds const& iBounds){ + m_nTimeSums =iBounds.maxNumberOfThreads()+1; + m_timeSums.reset(new std::atomic[m_nTimeSums]); + for(unsigned int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/ImpactParameterCalibration.cc b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/ImpactParameterCalibration.cc deleted file mode 100644 index eb58b4bd2c5d5..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/ImpactParameterCalibration.cc +++ /dev/null @@ -1,442 +0,0 @@ -// -*- C++ -*- -// -// Package: ImpactParameterCalibration -// Class: ImpactParameterCalibration -// -/**\class ImpactParameterCalibration ImpactParameterCalibration.cc RecoBTag/ImpactParameterCalibration/src/ImpactParameterCalibration.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Jeremy Andrea/Andrea Rizzi -// Created: Mon Aug 6 16:10:38 CEST 2007 -// -// -// system include files - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "Utilities/General/interface/FileInPath.h" - -#include "FWCore/Framework/interface/IOVSyncValue.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" - - -#include "DataFormats/BTauReco/interface/TrackIPTagInfo.h" -#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h" -#include "CondFormats/BTauObjects/interface/CalibratedHistogram.h" - -#include "CondFormats/DataRecord/interface/BTagTrackProbability2DRcd.h" -#include "CondFormats/DataRecord/interface/BTagTrackProbability3DRcd.h" - -#include "TClass.h" - -#include "TBufferFile.h" - -#include "TBufferXML.h" -#include -#include -#include -#include -#include -#include - -#include "TrackClassMatch.h" - - -using namespace reco; -using namespace std; -// -// class decleration -// - - - -class ImpactParameterCalibration : public edm::EDAnalyzer { - public: - explicit ImpactParameterCalibration(const edm::ParameterSet&); - ~ImpactParameterCalibration(); - - - private: - virtual void beginJob() override ; - virtual void analyze(const edm::Event&, const edm::EventSetup&) override; - virtual void endJob() override ; - - virtual void initFromFirstES(const edm::EventSetup&); - edm::ParameterSet config; - bool m_needInitFromES; - TrackProbabilityCalibration * fromXml(const edm::FileInPath& xmlCalibration); - - static TrackProbabilityCategoryData createCategory(double pmin,double pmax, - double etamin, double etamax, - int nhitmin, int nhitmax, - int npixelhitsmin, int npixelhitsmax, - double cmin, double cmax, int withFirst) - { - TrackProbabilityCategoryData c; - c.pMin=pmin; - c.pMax=pmax; - c.etaMin=etamin; - c.etaMax=etamax; - c.nHitsMin=nhitmin; - c.nHitsMax=nhitmax; - c.nPixelHitsMin=npixelhitsmin; - c.nPixelHitsMax=npixelhitsmax; - c.chiMin=cmin; - c.chiMax=cmax; - c.withFirstPixel=withFirst; - return c; - } - - TrackProbabilityCalibration * m_calibration[2]; - edm::EDGetTokenT token_trackIPTagInfo; - edm::EDGetTokenT token_primaryVertex; - unsigned int minLoop, maxLoop; - -}; - -ImpactParameterCalibration::ImpactParameterCalibration(const edm::ParameterSet& iConfig):config(iConfig) -{ - m_needInitFromES = false; - token_trackIPTagInfo = consumes(iConfig.getParameter("tagInfoSrc")); - token_primaryVertex = consumes(iConfig.getParameter("primaryVertexSrc")); - bool createOnlyOne = iConfig.getUntrackedParameter("createOnlyOneCalibration", false); - minLoop=0; - maxLoop=1; - if (createOnlyOne == true){ - int whichCalib = iConfig.getUntrackedParameter("dimension", 2); - if (whichCalib==2){ - std::cout <<" Writing only 2D calibrations"< ipHandle; - iEvent.getByToken(token_trackIPTagInfo, ipHandle); - const TrackIPTagInfoCollection & ip = *(ipHandle.product()); - -// cout << "Found " << ip.size() << " TagInfo" << endl; - - Handle primaryVertex; - iEvent.getByToken(token_primaryVertex,primaryVertex); - - vector::iterator found; - vector::iterator it_begin; - vector::iterator it_end; - - - TrackIPTagInfoCollection::const_iterator it = ip.begin(); - for(; it != ip.end(); it++) - { - TrackRefVector selTracks=it->selectedTracks(); -// if(it->primaryVertex().isNull()) continue; - if(primaryVertex.product()->size() == 0) - { - std::cout << "No PV in the event!!" << std::endl; - continue; - } - const Vertex & pv = *(primaryVertex.product()->begin()); - - for(unsigned int i=minLoop; i <= maxLoop;i++) - { - it_begin=m_calibration[i]->data.begin(); - it_end=m_calibration[i]->data.end(); - - for(unsigned int j=0;jimpactParameterData()[j].ip3d.significance(); - else ipsig = it->impactParameterData()[j].ip2d.significance(); - TrackClassMatch::Input input(*selTracks[j],*it->jet(),pv); - if(ipsig < 0) - { - found = std::find_if(it_begin,it_end,bind1st(TrackClassMatch(),input)); -// std::cout << ip[j].significance() << std::endl; - if(found!=it_end) - found->histogram.fill(-ipsig); - else - {std::cout << "No category for this track!!" << std::endl; - std::cout << "p " <<(*selTracks[j]).p () << std::endl; - std::cout << "eta " << (*selTracks[j]).eta() << std::endl; - std::cout << "NHit " << (*selTracks[j]).numberOfValidHits() << std::endl; - std::cout << "NPixHit " << (*selTracks[j]).hitPattern().numberOfValidPixelHits() << std::endl; - std::cout << "FPIXHIT " << (*selTracks[j]).hitPattern().hasValidHitInFirstPixelBarrel() << std::endl;} - - } - } - } - } - - - -} - - - - - - - -void ImpactParameterCalibration::initFromFirstES(const edm::EventSetup& iSetup) -{ - using namespace edm; - - CalibratedHistogram hist(config.getParameter("nBins"),0,config.getParameter("maxSignificance")); - bool resetHistogram = config.getParameter("resetHistograms"); - ESHandle calib2DHandle; - iSetup.get().get(calib2DHandle); - ESHandle calib3DHandle; - iSetup.get().get(calib3DHandle); - const TrackProbabilityCalibration * ca[2]; - ca[0] = calib3DHandle.product(); - ca[1] = calib2DHandle.product(); - for(unsigned int i=minLoop;i <=maxLoop ;i++) - for(unsigned int j=0;jdata.size() ; j++) - { - TrackProbabilityCalibration::Entry e; - e.category=ca[i]->data[j].category; - - if(resetHistogram) - e.histogram=hist; - else - e.histogram=ca[i]->data[j].histogram; - - m_calibration[i]->data.push_back(e); - } - - -} - - -// ------------ method called once each job just before starting event loop ------------ -void -ImpactParameterCalibration::beginJob() -{ - using namespace edm; - m_calibration[0] = new TrackProbabilityCalibration(); - m_calibration[1] = new TrackProbabilityCalibration(); - - CalibratedHistogram hist(config.getParameter("nBins"),0,config.getParameter("maxSignificance")); - - std::string categories = config.getParameter("inputCategories"); - - if(categories == "HardCoded") - { - vector v; - //TrackProbabilityCategoryData {pMin, pMax, etaMin, etaMax, - //nHitsMin, nHitsMax, nPixelHitsMin, nPixelHitsMax, chiMin,chiMax, withFirstPixel; - //trackQuality; - v.push_back(createCategory(0, 5000, 0 , 2.5, 8 , 50, 1, 1, 0 , 5 , 0)); - v.push_back(createCategory(0, 5000, 0 , 2.5, 8 , 50, 2, 8, 2.5, 5 , 0)); - v.push_back(createCategory(0, 8 , 0 , 0.8, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(0, 8 , 0.8, 1.6, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(0, 8 , 1.6, 2.5, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(0, 8 , 0 , 2.5, 8 , 50, 2, 8, 0 , 2.5, 0)); - v.push_back(createCategory(8, 5000, 0 , 0.8, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(8, 5000, 0.8, 1.6, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(8, 5000, 1.6, 2.5, 8 , 50, 3, 8, 0 , 2.5, 0)); - v.push_back(createCategory(8, 5000, 0 , 2.5, 8 , 50, 2 ,2, 0 , 2.5, 0)); - for(unsigned int i=minLoop;i <=maxLoop ;i++) - for(unsigned int j=0;jdata.push_back(e); - } - - } - if(categories == "RootXML") - { - bool resetHistogram = config.getParameter("resetHistograms"); - const TrackProbabilityCalibration * ca[2]; - ca[0] = fromXml(config.getParameter("calibFile3d")); - ca[1] = fromXml(config.getParameter("calibFile2d")); - - for(unsigned int i=minLoop;i <=maxLoop ;i++) - for(unsigned int j=0;jdata.size() ; j++) - { - TrackProbabilityCalibration::Entry e; - e.category=ca[i]->data[j].category; - - if(resetHistogram) - e.histogram=hist; - else - e.histogram=ca[i]->data[j].histogram; - - m_calibration[i]->data.push_back(e); - } - - delete ca[0]; - delete ca[1]; - - } - if(categories == "EventSetup") - { - m_needInitFromES=true; - } - - - -/* edm::FileInPath f2d(m_xmlfilename2D); - edm::FileInPath f3d(m_xmlfilename3D); - calibrationNew = new AlgorithmCalibration((f3d.fullPath()).c_str()); - calibration2dNew = new AlgorithmCalibration((f2d.fullPath()).c_str()); - vector * bins =0; - if(m_resetData) - { - if(m_newBinning) bins = new vector(CalibratedHistogram::constantBinning(m_nBin,0,m_range)); - vector > data = calibrationNew->categoriesWithData(); - vector > data2d = calibration2dNew->categoriesWithData(); - std::cout << data.size() << std::endl; - for(unsigned int i = 0 ; i < data.size();i++) - { - data[i].second.reset(); - if(bins) data[i].second.setUpperLimits(*bins); - } - for(unsigned int i = 0 ; i < data2d.size();i++) - { - data2d[i].second.reset(); - if(bins) data2d[i].second.setUpperLimits(*bins); - } - - } - if(bins) delete bins; - -*/ - - -} - -TrackProbabilityCalibration * ImpactParameterCalibration::fromXml(const edm::FileInPath& xmlCalibration) - -{ - std::ifstream xmlFile(xmlCalibration.fullPath().c_str()); - if (!xmlFile.good()) - throw cms::Exception("BTauFakeMVAJetTagConditions") - << "File \"" << xmlCalibration.fullPath() - << "\" could not be opened for reading." - << std::endl; - std::ostringstream ss; - ss << xmlFile.rdbuf(); - xmlFile.close(); - TClass *classType = 0; - void *ptr = TBufferXML(TBuffer::kRead).ConvertFromXMLAny( - ss.str().c_str(), &classType, kTRUE, kFALSE); - if (!ptr) - throw cms::Exception("ImpactParameterCalibration") - << "Unknown error parsing XML serialization" - << std::endl; - - if (std::strcmp(classType->GetName(), - "TrackProbabilityCalibration")) { - classType->Destructor(ptr); - throw cms::Exception("ImpactParameterCalibration") - << "Serialized object has wrong C++ type." - << std::endl; - } - - return static_cast(ptr); -} - - - - -// ------------ method called once each job just after ending the event loop ------------ -void -ImpactParameterCalibration::endJob() { - - if(config.getParameter("writeToDB")) - { - edm::Service mydbservice; - if( !mydbservice.isAvailable() ) return; - if(minLoop == 0 ) mydbservice->createNewIOV(m_calibration[0], mydbservice->beginOfTime(), mydbservice->endOfTime(),"BTagTrackProbability3DRcd"); - if(maxLoop == 1) mydbservice->createNewIOV(m_calibration[1], mydbservice->beginOfTime(), mydbservice->endOfTime(),"BTagTrackProbability2DRcd"); - } - - - if(config.getParameter("writeToRootXML")) - { - if(maxLoop == 1 ){ - std::ofstream of2("2d.xml"); - TBufferXML b2(TBuffer::kWrite); - of2 << b2.ConvertToXML(static_cast(m_calibration[1]), - TClass::GetClass("TrackProbabilityCalibration"), - kTRUE, kFALSE); - of2.close(); - } - if(minLoop == 0 ){ - std::ofstream of3("3d.xml"); - TBufferXML b3(TBuffer::kWrite); - of3 << b3.ConvertToXML(static_cast(m_calibration[0]), - TClass::GetClass("TrackProbabilityCalibration"), - kTRUE, kFALSE); - of3.close(); - } - } - - - if(config.getParameter("writeToBinary")) - { - if(maxLoop == 1 ){ - - std::ofstream ofile("2d.dat"); - TBufferFile buffer(TBuffer::kWrite); - buffer.StreamObject(static_cast(m_calibration[1]), - TClass::GetClass("TrackProbabilityCalibration")); - Int_t size = buffer.Length(); - ofile.write(buffer.Buffer(),size); - ofile.close(); - } - if(minLoop == 0 ){ - std::ofstream ofile3("3d.dat"); - TBufferFile buffer3(TBuffer::kWrite); - buffer3.StreamObject(static_cast(m_calibration[0]), - TClass::GetClass("TrackProbabilityCalibration")); - Int_t size3 = buffer3.Length(); - ofile3.write(buffer3.Buffer(),size3); - ofile3.close(); - } - } - - - - - -} - -//define this as a plug-in -DEFINE_FWK_MODULE(ImpactParameterCalibration); diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/SumHistoCalibration.cc b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/SumHistoCalibration.cc deleted file mode 100644 index fcda69f61bd56..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/SumHistoCalibration.cc +++ /dev/null @@ -1,323 +0,0 @@ -// -*- C++ -*- -// -// Package: ImpactParameterCalibration -// Class: ImpactParameterCalibration -// -/**\class ImpactParameterCalibration ImpactParameterCalibration.cc RecoBTag/ImpactParameterCalibration/src/ImpactParameterCalibration.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Jeremy Andrea -// Created: Wed Mar 5 19:17:38 CEST 2008 -// -// -// system include files - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "Utilities/General/interface/FileInPath.h" - -#include "FWCore/Framework/interface/IOVSyncValue.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" - - -#include "DataFormats/BTauReco/interface/TrackIPTagInfo.h" -#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h" -#include "CondFormats/BTauObjects/interface/CalibratedHistogram.h" - -#include "CondFormats/DataRecord/interface/BTagTrackProbability2DRcd.h" -#include "CondFormats/DataRecord/interface/BTagTrackProbability3DRcd.h" - - -#include "RecoBTag/XMLCalibration/interface/AlgorithmCalibration.h" -#include "RecoBTag/XMLCalibration/interface/CalibratedHistogramXML.h" -#include "RecoBTag/TrackProbability/interface/TrackClassFilter.h" - -#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h" - - - -#include "RVersion.h" -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,15,0) -#include "TBufferFile.h" -typedef TBufferFile MyTBuffer; -#else -#include "TBuffer.h" -typedef TBuffer MyTBuffer; -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "TrackClassMatch.h" - - -using namespace reco; -using namespace std; -// -// class decleration -// - - - -class SumHistoCalibration : public edm::EDAnalyzer { - public: - explicit SumHistoCalibration(const edm::ParameterSet&); - ~SumHistoCalibration(); - - - private: - virtual void beginJob() override ; - virtual void analyze(const edm::Event&, const edm::EventSetup&) override; - virtual void endJob() override ; - edm::ParameterSet config; - - TrackProbabilityCalibration * fromXml(const edm::FileInPath& xmlCalibration); - - - std::vector m_xmlilelist2d; - std::vector m_xmlilelist3d; - bool m_sum2D; - bool m_sum3D; - unsigned int minLoop, maxLoop; - TrackProbabilityCalibration * m_calibration[2]; - - - -}; - -SumHistoCalibration::SumHistoCalibration(const edm::ParameterSet& iConfig):config(iConfig) -{ - m_xmlilelist2d = iConfig.getParameter >("xmlfiles2d"); - m_xmlilelist3d = iConfig.getParameter >("xmlfiles3d"); - m_sum2D = iConfig.getParameter("sum2D"); - m_sum3D = iConfig.getParameter("sum3D"); -} - - -SumHistoCalibration::~SumHistoCalibration() -{ -} - - -void -SumHistoCalibration::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - using namespace edm; - using namespace reco; - using namespace std; - -} - - - - - - - - - - -// ------------ method called once each job just before starting event loop ------------ -void -SumHistoCalibration::beginJob() -{ - if(m_sum2D && m_sum3D){minLoop = 0; maxLoop =1;} - if(m_sum2D && !m_sum3D){minLoop = 0; maxLoop =0;} - if(!m_sum2D && m_sum3D){minLoop = 1; maxLoop =1;} - using namespace edm; - m_calibration[0] = new TrackProbabilityCalibration(); - m_calibration[1] = new TrackProbabilityCalibration(); - - const TrackProbabilityCalibration * ca[2]; - edm::FileInPath fip(m_xmlilelist3d[0]); - edm::FileInPath fip2(m_xmlilelist2d[0]); - ca[0] = fromXml(fip); - ca[1] = fromXml(fip2); - - for(unsigned int i=minLoop;i <=maxLoop ;i++) - for(unsigned int j=0;jdata.size() ; j++) - { - TrackProbabilityCalibration::Entry e; - e.category=ca[i]->data[j].category; - e.histogram=ca[i]->data[j].histogram; - m_calibration[i]->data.push_back(e); - } - - delete ca[0]; - delete ca[1]; - - - - - - - - - - - - - -} - -TrackProbabilityCalibration * SumHistoCalibration::fromXml(const edm::FileInPath& xmlCalibration) -{ - std::ifstream xmlFile(xmlCalibration.fullPath().c_str()); - if (!xmlFile.good()) - throw cms::Exception("BTauFakeMVAJetTagConditions") - << "File \"" << xmlCalibration.fullPath() - << "\" could not be opened for reading." - << std::endl; - std::ostringstream ss; - ss << xmlFile.rdbuf(); - xmlFile.close(); - TClass *classType = 0; - void *ptr = TBufferXML(TBuffer::kRead).ConvertFromXMLAny( - ss.str().c_str(), &classType, kTRUE, kFALSE); - if (!ptr) - throw cms::Exception("SumHistoCalibration") - << "Unknown error parsing XML serialization" - << std::endl; - - if (std::strcmp(classType->GetName(), - "TrackProbabilityCalibration")) { - classType->Destructor(ptr); - throw cms::Exception("SumHistoCalibration") - << "Serialized object has wrong C++ type." - << std::endl; - } - - return static_cast(ptr); -} - - - - -// ------------ method called once each job just after ending the event loop ------------ -void -SumHistoCalibration::endJob() { - - - using namespace edm; - using namespace reco; - using namespace std; - - - - - if(m_sum3D){ - for(unsigned int itFile =1; itFile< m_xmlilelist3d.size(); itFile++){ - edm::FileInPath fip(m_xmlilelist3d[itFile]); - const TrackProbabilityCalibration *ca = fromXml(fip); - for(unsigned int j=0;jdata.size() ; j++) - { - for(int k = 0; k< m_calibration[0]->data[j].histogram.numberOfBins(); k++){ - m_calibration[0]->data[j].histogram.setBinContent(k, ca->data[j].histogram.binContent(k) - + m_calibration[0]->data[j].histogram.binContent(k)); - } - } - delete ca; - } - } - if(m_sum2D){ - for(unsigned int itFile =1; itFile< m_xmlilelist2d.size(); itFile++){ - edm::FileInPath fip(m_xmlilelist2d[itFile]); - TrackProbabilityCalibration * ca = fromXml(fip); - for(unsigned int j=0;jdata.size() ; j++) - { - for(int k = 0; k< m_calibration[1]->data[j].histogram.numberOfBins(); k++){ - m_calibration[1]->data[j].histogram.setBinContent(k,ca->data[j].histogram.binContent(k) - + m_calibration[1]->data[j].histogram.binContent(k)); - } - } - delete ca; - } - } - - - - - - - - - - - - - - - if(config.getParameter("writeToDB")) - { - edm::Service mydbservice; - if( !mydbservice.isAvailable() ) return; - //mydbservice->createNewIOV(m_calibration[0], mydbservice->endOfTime(),"BTagTrackProbability3DRcd"); - //mydbservice->createNewIOV(m_calibration[1], mydbservice->endOfTime(),"BTagTrackProbability2DRcd"); - mydbservice->createNewIOV(m_calibration[0], mydbservice->beginOfTime(), mydbservice->endOfTime(),"BTagTrackProbability3DRcd"); - mydbservice->createNewIOV(m_calibration[1], mydbservice->beginOfTime(), mydbservice->endOfTime(),"BTagTrackProbability2DRcd"); - - } - - - if(config.getParameter("writeToRootXML")) - { - std::ofstream of2("2d.xml"); - TBufferXML b2(TBuffer::kWrite); - of2 << b2.ConvertToXML(static_cast(m_calibration[1]), - TClass::GetClass("TrackProbabilityCalibration"), - kTRUE, kFALSE); - of2.close(); - std::ofstream of3("3d.xml"); - TBufferXML b3(TBuffer::kWrite); - of3 << b3.ConvertToXML(static_cast(m_calibration[0]), - TClass::GetClass("TrackProbabilityCalibration"), - kTRUE, kFALSE); - of3.close(); - } - - - if(config.getParameter("writeToBinary")) - { - std::ofstream ofile("2d.dat"); - MyTBuffer buffer(TBuffer::kWrite); - buffer.StreamObject(const_cast(static_cast(m_calibration[1])), - TClass::GetClass("TrackProbabilityCalibration")); - Int_t size = buffer.Length(); - ofile.write(buffer.Buffer(),size); - ofile.close(); - - std::ofstream ofile3("3d.dat"); - MyTBuffer buffer3(TBuffer::kWrite); - buffer3.StreamObject(const_cast(static_cast(m_calibration[0])), - TClass::GetClass("TrackProbabilityCalibration")); - Int_t size3 = buffer3.Length(); - ofile3.write(buffer3.Buffer(),size3); - ofile3.close(); - } - - - - - -} - -//define this as a plug-in -DEFINE_FWK_MODULE(SumHistoCalibration); diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackClassMatch.h b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackClassMatch.h deleted file mode 100644 index 1d3b9c6e5c775..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackClassMatch.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef TrackClassMatch_H -#define TrackClassMatch_H - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "CondFormats/BTauObjects/interface/TrackProbabilityCategoryData.h" -#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h" - - /** filter to define the belonging of a track to a TrackClass - */ -class TrackClassMatch -{ - public: - - TrackClassMatch() {} - - class Input - { - public: - Input(const reco::Track & t,const reco::Jet &j, const reco::Vertex & v) : - track(t), jet(j), vertex(v) {} - - const reco::Track & track; - const reco::Jet & jet; - const reco::Vertex & vertex; - }; - - typedef Input first_argument_type; - typedef TrackProbabilityCalibration::Entry second_argument_type; - typedef bool result_type; - - bool operator()(const first_argument_type & input , const second_argument_type & category ) const -{ - const reco::Track & track = input.track; -// const reco::Jet & jet = input.jet; -// const reco::Vertex & pv = input.vertex; - const TrackProbabilityCategoryData & d = category.category; - //Track Data - double p=track.p(); - double eta=track.eta(); - double nhit=track.numberOfValidHits(); - double npix=track.hitPattern().numberOfValidPixelHits(); - bool firstPixel=track.hitPattern().hasValidHitInFirstPixelBarrel(); - double chi=track.normalizedChi2(); - //Chi^2 cut if used - bool chicut=(chi >= d.chiMin && chi < d.chiMax ); - if(d.chiMin<=0.01 && d.chiMax<=0.01) chicut=true; - - //First Pixel Hit cut 1=there should be an hit in first layer, -1=there should not be an hit, 0 = I do not care - bool fisrtPixelCut = ( (firstPixel && d.withFirstPixel == 1) || (!firstPixel && d.withFirstPixel == -1) || d.withFirstPixel == 0 ); - - //the AND of everything - bool result=( p > d.pMin && p < d.pMax && - fabs(eta) > d.etaMin && fabs(eta) < d.etaMax && - nhit >= d.nHitsMin && nhit <= d.nHitsMax && - npix >= d.nPixelHitsMin && npix <= d.nPixelHitsMax && - chicut && fisrtPixelCut ); - return result; - } - - - -}; - - -#endif - - - - - - - - diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackProbabilityXMLtoDB.cc b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackProbabilityXMLtoDB.cc deleted file mode 100644 index 43698e997c6cf..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/plugins/TrackProbabilityXMLtoDB.cc +++ /dev/null @@ -1,160 +0,0 @@ -// -*- C++ -*- -// -// Package: TrackProbabilityXMLtoDB -// Class: TrackProbabilityXMLtoDB -// -/**\class TrackProbabilityXMLtoDB TrackProbabilityXMLtoDB.cc RecoBTag/TrackProbabilityXMLtoDB/src/TrackProbabilityXMLtoDB.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Andrea Rizzi -// Created: Wed Apr 12 11:12:49 CEST 2006 -// -// - - - - -// system include files -#include -#include -#include -using namespace std; - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/Common/interface/Ref.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/JetReco/interface/CaloJet.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/BTauReco/interface/JetTracksAssociation.h" - -//#include "RecoBTag/TrackProbability/interface/TrackClassFilterCategory.h" - -#include "TrackingTools/Records/interface/TransientTrackRecord.h" -#include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h" -//#include "TrackProbabilityCalibratedHistogram.h" - -#include "RecoBTag/BTagTools/interface/SignedTransverseImpactParameter.h" -#include "RecoBTag/BTagTools/interface/SignedImpactParameter3D.h" -#include "RecoBTag/BTagTools/interface/SignedDecayLength3D.h" - -//CondFormats -#include "CondFormats/BTauObjects/interface/TrackProbabilityCalibration.h" - -#include "FWCore/Framework/interface/IOVSyncValue.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" -// Math -#include "Math/GenVector/VectorUtil.h" -#include "Math/GenVector/PxPyPzE4D.h" - -#include "RecoBTag/XMLCalibration/interface/AlgorithmCalibration.h" -#include "RecoBTag/XMLCalibration/interface/CalibratedHistogramXML.h" -#include "RecoBTag/TrackProbability/interface/TrackClassFilterCategory.h" - -//#include "TH1F.h" -//#include "TFile.h" - - -#include -#include - -using namespace reco; - -// -// class decleration -// - -class TrackProbabilityXMLtoDB : public edm::EDAnalyzer { - public: - explicit TrackProbabilityXMLtoDB(const edm::ParameterSet&); - - virtual void endJob() - { - edm::Service mydbservice; - if( !mydbservice.isAvailable() ) return; - - edm::FileInPath f2d("RecoBTag/TrackProbability/data/2DHisto.xml"); - edm::FileInPath f3d("RecoBTag/TrackProbability/data/3DHisto.xml"); - AlgorithmCalibration* calibrationOld= new AlgorithmCalibration((f3d.fullPath()).c_str()); - AlgorithmCalibration* calibration2dOld= new AlgorithmCalibration((f2d.fullPath()).c_str()); - - vector > data = calibrationOld->categoriesWithData(); - vector > data2d = calibration2dOld->categoriesWithData(); - TrackProbabilityCalibration * calibration= new TrackProbabilityCalibration(); - TrackProbabilityCalibration * calibration2d= new TrackProbabilityCalibration(); - for(int i = 0 ; i < data.size();i++) - { - TrackProbabilityCalibration::Entry entry; - entry.category=data[i].first.categoryData(); - entry.histogram=data[i].second; - calibration->data.push_back(entry); - } - for(int i = 0 ; i < data2d.size();i++) - { - TrackProbabilityCalibration::Entry entry; - entry.category=data2d[i].first.categoryData(); - entry.histogram=data2d[i].second; - calibration2d->data.push_back(entry); - } - - - mydbservice->createNewIOV(calibration, mydbservice->endOfTime(),"BTagTrackProbability3DRcd"); - - mydbservice->createNewIOV(calibration2d, mydbservice->endOfTime(),"BTagTrackProbability2DRcd"); - - - } - ~TrackProbabilityXMLtoDB() - { - } - - - - virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup); - - private: - int count; -int ntracks; - int m_cutPixelHits; - int m_cutTotalHits; - double m_cutMaxTIP; - double m_cutMinPt; - double m_cutMaxDecayLen; - double m_cutMaxChiSquared; - double m_cutMaxLIP; - double m_cutMaxDistToAxis; - double m_cutMinProb; - - edm::InputTag m_assoc; - edm::InputTag m_jets; - edm::InputTag m_primaryVertexProducer; -}; - -// -// constructors and destructor -// -TrackProbabilityXMLtoDB::TrackProbabilityXMLtoDB(const edm::ParameterSet& parameters) -{ -} - -void -TrackProbabilityXMLtoDB::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) -{ -} - -//define this as a plug-in - -DEFINE_FWK_MODULE(TrackProbabilityXMLtoDB); diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/2d.xml.new.gz b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/2d.xml.new.gz deleted file mode 100644 index 00fa657be6bb6..0000000000000 Binary files a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/2d.xml.new.gz and /dev/null differ diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/3d.xml.new.gz b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/3d.xml.new.gz deleted file mode 100644 index 92f967de388d0..0000000000000 Binary files a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/3d.xml.new.gz and /dev/null differ diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer-blob_cfg.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer-blob_cfg.py deleted file mode 100644 index a9d00807fe269..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer-blob_cfg.py +++ /dev/null @@ -1,64 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -#include "CondCore/DBCommon/data/CondDBCommon.cfi" -#replace CondDBCommon.connect = "sqlite_file:btagnew.db" -#replace CondDBCommon.catalog = "file:mycatalog.xml" -# es_source = PoolDBESSource { -# using CondDBCommon -# VPSet toGet = { -# {string record = "BTagTrackProbability2DRcd" -# string tag = "probBTagPDF2D_tag" }, -# {string record = "BTagTrackProbability3DRcd" -# string tag = "probBTagPDF3D_tag" } -# } -# } - -import FWCore.ParameterSet.Config as cms - -process = cms.Process("analyzer") -#include "Configuration/StandardSequences/data/FakeConditions.cff" -#untracked PSet maxEvents = {untracked int32 input = 100} -# Message Logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(0) -) -process.source = cms.Source("EmptySource", - firstRun = cms.untracked.uint32(1) -) - -process.ipCalib = cms.EDAnalyzer("ImpactParameterCalibration", - writeToDB = cms.bool(True), - writeToBinary = cms.bool(False), - calibFile3d = cms.FileInPath('RecoBTag/ImpactParameterLearning/test/3d.xml.new'), - resetHistograms = cms.bool(False), - maxSignificance = cms.double(50.0), - writeToRootXML = cms.bool(False), - nBins = cms.int32(10000), - tagInfoSrc = cms.InputTag("impactParameterTagInfos"), - calibFile2d = cms.FileInPath('RecoBTag/ImpactParameterLearning/test/2d.xml.new'), - inputCategories = cms.string('RootXML'), - primaryVertexSrc = cms.InputTag("offlinePrimaryVerticesFromCTFTracks") -) - -process.PoolDBOutputService = cms.Service("PoolDBOutputService", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(0), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:btagnew_new.db'), - toPut = cms.VPSet(cms.PSet( - record = cms.string('BTagTrackProbability2DRcd'), - tag = cms.string('probBTagPDF2D_tag_mc') - ), - cms.PSet( - record = cms.string('BTagTrackProbability3DRcd'), - tag = cms.string('probBTagPDF3D_tag_mc') - )) -) - -process.p = cms.Path(process.ipCalib) - diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer_cfg.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer_cfg.py deleted file mode 100644 index 59cef38d66432..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/XMLtoBuffer_cfg.py +++ /dev/null @@ -1,66 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -#include "CondCore/DBCommon/data/CondDBCommon.cfi" -#replace CondDBCommon.connect = "sqlite_file:btagnew.db" -#replace CondDBCommon.catalog = "file:mycatalog.xml" -# es_source = PoolDBESSource { -# using CondDBCommon -# VPSet toGet = { -# {string record = "BTagTrackProbability2DRcd" -# string tag = "probBTagPDF2D_tag" }, -# {string record = "BTagTrackProbability3DRcd" -# string tag = "probBTagPDF3D_tag" } -# } -# } - -import FWCore.ParameterSet.Config as cms - -process = cms.Process("analyzer") -#include "Configuration/StandardSequences/data/FakeConditions.cff" -#untracked PSet maxEvents = {untracked int32 input = 100} -# Message Logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(0) -) -process.source = cms.Source("EmptySource", - firstRun = cms.untracked.uint32(1) -) - -process.ipCalib = cms.EDAnalyzer("ImpactParameterCalibration", - writeToDB = cms.bool(True), - writeToBinary = cms.bool(False), - calibFile3d = cms.FileInPath('RecoBTag/ImpactParameterLearning/test/3d.xml.new'), - resetHistograms = cms.bool(False), - maxSignificance = cms.double(50.0), - writeToRootXML = cms.bool(False), - nBins = cms.int32(10000), - tagInfoSrc = cms.InputTag("impactParameterTagInfos"), - calibFile2d = cms.FileInPath('RecoBTag/ImpactParameterLearning/test/2d.xml.new'), - inputCategories = cms.string('RootXML'), - primaryVertexSrc = cms.InputTag("offlinePrimaryVerticesFromCTFTracks") -) - -process.PoolDBOutputService = cms.Service("PoolDBOutputService", - authenticationMethod = cms.untracked.uint32(1), - loadBlobStreamer = cms.untracked.bool(True), - catalog = cms.untracked.string('file:mycatalog_new.xml'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(0), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:btagnew_new.db'), - toPut = cms.VPSet(cms.PSet( - record = cms.string('BTagTrackProbability2DRcd'), - tag = cms.string('probBTagPDF2D_tag_mc') - ), - cms.PSet( - record = cms.string('BTagTrackProbability3DRcd'), - tag = cms.string('probBTagPDF3D_tag_mc') - )) -) - -process.p = cms.Path(process.ipCalib) - diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/btagAnalysis.cfg b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/btagAnalysis.cfg deleted file mode 100644 index dd7d55bc0412f..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/btagAnalysis.cfg +++ /dev/null @@ -1,118 +0,0 @@ -process btagtest = { - ### keep the logging output to a nice level ### - #include "FWCore/MessageService/data/MessageLogger.cfi" - #replace MessageLogger.cerr.threshold = "INFO" - # initialize MessageLogger - #include "RecoTracker/RoadSearchCloudMaker/test/messages.cfg" - - source = PoolSource { - untracked vstring fileNames = { - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_1.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_10.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_11.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_12.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_14.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_15.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_16.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_17.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_18.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_19.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_2.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_20.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_21.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_22.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_24.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_25.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_26.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_27.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_28.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_29.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_3.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_30.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_4.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_5.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_6.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_7.root", - "rfio:/dpm/in2p3.fr/home/cms/jandrea/QCDFastSimAOD_184_80_120/QCDFastSimAOD_184_80_120_9.root" - - - } - } - untracked PSet maxEvents = {untracked int32 input = 10000} - - - - // include "CalibTracker/Configuration/data/SiStrip_FakePedestals.cff" - //include "CalibTracker/Configuration/data/SiStrip_FakeLorentzAngle.cff" - - //include "RecoTracker/CkfPattern/data/CkfTrajectoryBuilderESProducer.cfi" - - //include "RecoTracker/Configuration/data/RecoTracker.cff" - //replace ctfWithMaterialTracks.TrajectoryInEvent = true - - - - - - include "TrackingTools/TransientTrack/data/TransientTrackBuilder.cfi" - - include "Geometry/CMSCommonData/data/cmsIdealGeometryXML.cfi" - - - - - - - // include "PhysicsTools/JetMCAlgos/data/CaloJetsMCFlavour.cfi" - //sequence mcJetFlavour = { myPartons, iterativeCone5Flavour } - - - - - - #include "RecoBTag/Configuration/data/RecoBTag.cff" - #include "RecoBTag/Analysis/data/bTagTrackProbabilityAnalysis.cff" - #replace bTagTrackProbabilityAnalysis.rootfile = "qcdTP_152Calib152.root" - #replace bTagTrackProbabilityAnalysis.jetTagModuleLabel = {"jetProbabilityJetTags"} - #replace bTagTrackProbabilityAnalysis.tagInfo = TrackIP - - - #include "RecoBTau/JetTagProducer/data/jetTagRecord.cfi" - - #include "RecoBTag/TrackProbability/data/jetProbabilityComputer.cfi" - #include "RecoBTag/ImpactParameter/data/impactParameter.cfi" - - include "RecoBTag/Configuration/data/RecoBTag.cff" - include "RecoBTag/TrackProbability/data/trackProbabilityFakeCond.cfi" - - - include "RecoBTag/Analysis/data/bTagAnalysis.cfi" - replace bTagAnalysis.producePs = false - replace bTagAnalysis.fastMC = true - replace bTagAnalysis.jetMCSrc = mcAlgoJetFlavour - - include "RecoBTag/MCTools/data/mcAlgoJetFlavour.cfi" - - - # module mcJetFlavour = MCJetFlavour - # { -# InputTag jets = iterativeCone5CaloJets -# PSet jetFlavourIdentifier = { -# string mcSource = "source" -# bool fillPartons = true -# bool fillHeavyHadrons = false -# bool fillLeptons = false -# double coneSizeToAssociate = 0.3 -# bool physicsDefinition = false -# bool rejectBCSplitting = false -# vstring vetoFlavour = { } -# } -# } - - - #path p = { bTagTrackProbabilityAnalysis} - path p = { mcAlgoJetFlavour, impactParameterTagInfos,jetProbabilityBJetTags,bTagAnalysis } - #bTagTrackCountingAnalysis } - #endpath e = {out} - -} diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/calib_cfg.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/calib_cfg.py deleted file mode 100644 index 5595facc4243b..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/calib_cfg.py +++ /dev/null @@ -1,97 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -#! /bin/env cmsRun - -#include "CondCore/DBCommon/data/CondDBCommon.cfi" -#replace CondDBCommon.connect = "sqlite_file:btagnew.db" -#replace CondDBCommon.catalog = "file:mycatalog.xml" -# es_source = PoolDBESSource { -# using CondDBCommon -# VPSet toGet = { -# {string record = "BTagTrackProbability2DRcd" -# string tag = "probBTagPDF2D_tag" }, -# {string record = "BTagTrackProbability3DRcd" -# string tag = "probBTagPDF3D_tag" } -# } -# } - -import FWCore.ParameterSet.Config as cms - -process = cms.Process("analyzer") -# source = EmptySource {untracked uint32 firstRun=1 } -#untracked PSet maxEvents = {untracked int32 input = 100} -# Message Logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.load("DQMServices.Components.DQMEnvironment_cfi") -process.load("DQMServices.Core.DQM_cfg") - -process.load("RecoBTag.Configuration.RecoBTag_cff") - -process.load("Validation.RecoB.bTagAnalysis_cfi") -process.load("PhysicsTools.JetMCAlgos.CaloJetsMCFlavour_cfi") -process.bTagValidation.jetMCSrc = 'AK5byValAlgo' -process.bTagValidation.allHistograms = True - - - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10000) ) - -#process.load("RecoBTag.TrackProbability.trackProbabilityFakeCond_cfi") -#process.trackProbabilityFakeCond.connect = "sqlite_fip:RecoBTag/ImpactParameterLearning/test/btagnew_test_startup.db" - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F6DE1DAA-ED4E-DE11-8A9B-001D09F25325.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F05D9103-524F-DE11-96EB-001D09F2AD4D.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F01E8CB2-F14E-DE11-B2EF-001D09F2A465.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/D2AB5809-F14E-DE11-B36C-001D09F24024.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/880B0814-EA4E-DE11-8BB4-001D09F276CF.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/1C221D94-F04E-DE11-A9ED-001D09F23944.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/F01E9FFE-5F4F-DE11-97D5-003048678FE4.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/8844A4D8-734E-DE11-9208-001731AF6859.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/720A062B-794E-DE11-9E6C-003048767ED5.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/407B954B-764E-DE11-86B9-003048678B44.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/089C14CE-814E-DE11-91EC-003048678B0E.root' - - - ) -) - -process.ipCalib = cms.EDAnalyzer("ImpactParameterCalibration", - writeToDB = cms.bool(False), - writeToBinary = cms.bool(False), - nBins = cms.int32(10000), - maxSignificance = cms.double(50.0), - writeToRootXML = cms.bool(True), - tagInfoSrc = cms.InputTag("impactParameterTagInfos"), - inputCategories = cms.string('HardCoded'), - primaryVertexSrc = cms.InputTag("offlinePrimaryVertices") -) - -process.PoolDBOutputService = cms.Service("PoolDBOutputService", - authenticationMethod = cms.untracked.uint32(1), - loadBlobStreamer = cms.untracked.bool(True), - catalog = cms.untracked.string('file:mycatalog_new.xml'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(0), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:btagnew_new.db'), - toPut = cms.VPSet(cms.PSet( - record = cms.string('BTagTrackProbability2DRcd'), - tag = cms.string('probBTagPDF2D_tag') - ), - cms.PSet( - record = cms.string('BTagTrackProbability3DRcd'), - tag = cms.string('probBTagPDF3D_tag') - )) -) - -process.p = cms.Path(process.myPartons* process.iterativeCone5Flavour * process.bTagValidation*process.dqmSaver*process.ipCalib) -process.dqmEnv.subSystemFolder = 'BTAG' -process.dqmSaver.producer = 'DQM' -process.dqmSaver.workflow = '/POG/BTAG/BJET' -process.dqmSaver.convention = 'RelVal' diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/eventsetuptoXML_cfg.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/eventsetuptoXML_cfg.py deleted file mode 100644 index c368223d664b4..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/eventsetuptoXML_cfg.py +++ /dev/null @@ -1,67 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -process = cms.Process("analyzer") -# -# one of the three -# - -# 1 - frontier -# -#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cfi") -#process.GlobalTag.globaltag = "IDEAL_V5::All" - -# 2 - fake -# -process.load("RecoBTag.TrackProbability.trackProbabilityFakeCond_cfi") - - -# 3 - file --- edit the file position -# -#process.load("RecoBTag.TrackProbability.trackProbabilityFakeCond_cfi") -#process.trackProbabilityFakeCond.connect = "sqlite_fip:RecoBTag/ImpactParameterLearning/test/btagnew_new.db" - -# Message Logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(0) -) -process.source = cms.Source("EmptySource", - firstRun = cms.untracked.uint32(1) -) - -process.ipCalib = cms.EDAnalyzer("ImpactParameterCalibration", - writeToDB = cms.bool(True), - writeToBinary = cms.bool(False), - nBins = cms.int32(10000), - resetHistograms = cms.bool(False), - maxSignificance = cms.double(50.0), - writeToRootXML = cms.bool(True), - tagInfoSrc = cms.InputTag("impactParameterTagInfos"), - inputCategories = cms.string('EventSetup'), - primaryVertexSrc = cms.InputTag("offlinePrimaryVerticesFromCTFTracks") -) - -process.PoolDBOutputService = cms.Service("PoolDBOutputService", - authenticationMethod = cms.untracked.uint32(1), - loadBlobStreamer = cms.untracked.bool(True), - catalog = cms.untracked.string('file:mycatalog_new.xml'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(0), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:btagnew_new.db'), - toPut = cms.VPSet(cms.PSet( - record = cms.string('BTagTrackProbability2DRcd'), - tag = cms.string('probBTagPDF2D_tag_mc') - ), - cms.PSet( - record = cms.string('BTagTrackProbability3DRcd'), - tag = cms.string('probBTagPDF3D_tag_mc') - )) -) - -process.p = cms.Path(process.ipCalib) - diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/histoMaker.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/histoMaker.py deleted file mode 100644 index f36d0d5b9b3df..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/histoMaker.py +++ /dev/null @@ -1,78 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -#! /bin/env cmsRun - -#include "CondCore/DBCommon/data/CondDBCommon.cfi" -#replace CondDBCommon.connect = "sqlite_file:btagnew.db" -#replace CondDBCommon.catalog = "file:mycatalog.xml" -# es_source = PoolDBESSource { -# using CondDBCommon -# VPSet toGet = { -# {string record = "BTagTrackProbability2DRcd" -# string tag = "probBTagPDF2D_tag" }, -# {string record = "BTagTrackProbability3DRcd" -# string tag = "probBTagPDF3D_tag" } -# } -# } - -import FWCore.ParameterSet.Config as cms - -from RecoBTag.ImpactParameter.impactParameter_cff import * - - -process = cms.Process("analyzer") -# source = EmptySource {untracked uint32 firstRun=1 } -#untracked PSet maxEvents = {untracked int32 input = 100} -# Message Logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.load("DQMServices.Components.DQMEnvironment_cfi") -process.load("DQMServices.Core.DQM_cfg") - -process.load("Configuration.StandardSequences.Reconstruction_cff") -process.load("RecoBTag.Configuration.RecoBTag_cff") - -process.load("Validation.RecoB.bTagAnalysis_cfi") -process.load("PhysicsTools.JetMCAlgos.CaloJetsMCFlavour_cfi") -process.bTagValidation.jetMCSrc = 'AK5byValAlgo' -process.bTagValidation.allHistograms = True - -process.load("TrackingTools/TransientTrack/TransientTrackBuilder_cfi") -process.load('Configuration/StandardSequences/GeometryIdeal_cff') -process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff') -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -#from CondCore.DBCommon.CondDBCommon_cfi import * -#process.load("RecoBTag.TrackProbability.trackProbabilityFakeCond_cfi") -#process.trackProbabilityFakeCond.connect = "sqlite_fip:btagnew_test_startup.db" -#process.es_prefer_trackProbabilityFakeCond = cms.ESPrefer("PoolDBESSource","trackProbabilityFakeCond") - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F6DE1DAA-ED4E-DE11-8A9B-001D09F25325.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F05D9103-524F-DE11-96EB-001D09F2AD4D.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/F01E8CB2-F14E-DE11-B2EF-001D09F2A465.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/D2AB5809-F14E-DE11-B36C-001D09F24024.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/880B0814-EA4E-DE11-8BB4-001D09F276CF.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0007/1C221D94-F04E-DE11-A9ED-001D09F23944.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/F01E9FFE-5F4F-DE11-97D5-003048678FE4.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/8844A4D8-734E-DE11-9208-001731AF6859.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/720A062B-794E-DE11-9E6C-003048767ED5.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/407B954B-764E-DE11-86B9-003048678B44.root', - '/store/relval/CMSSW_3_1_0_pre9/RelValQCD_Pt_80_120/GEN-SIM-RECO/STARTUP_31X_v1/0000/089C14CE-814E-DE11-91EC-003048678B0E.root' - - - ) -) - - -process.p = cms.Path(process.myPartons* process.iterativeCone5Flavour *process.impactParameterTagInfos - *process.jetProbabilityBJetTags*process.jetBProbabilityBJetTags*process.bTagValidation*process.dqmSaver) -process.dqmEnv.subSystemFolder = 'BTAG' -process.dqmSaver.producer = 'DQM' -process.dqmSaver.workflow = '/POG/BTAG/BJET' -process.dqmSaver.convention = 'RelVal' diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/produceXMLFiles.cfg b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/produceXMLFiles.cfg deleted file mode 100755 index f4b945b8a390c..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/produceXMLFiles.cfg +++ /dev/null @@ -1,81 +0,0 @@ -#! /bin/env cmsRun - -process analyzer = { - - untracked PSet maxEvents = {untracked int32 input = 10} - - - - source = PoolSource { - untracked vstring fileNames = { - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/0228BB4B-220A-DD11-A96A-001617C3B76E.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/022F834B-260A-DD11-BA52-001617C3B79A.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/04373ACD-240A-DD11-9444-000423D99394.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/04552009-260A-DD11-87B2-0030485610BC.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/047198F7-250A-DD11-9E5D-000423D6C8E6.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/067E017E-220A-DD11-A778-000423D98AF0.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/080EFDCA-240A-DD11-AB92-000423D94494.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/08791D18-240A-DD11-BFC2-000E0C3F0896.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/0C62CBCD-230A-DD11-B856-000423D98E54.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/0C9F238D-240A-DD11-A501-000423D99660.root', - '/store/Generators/2008/4/13/FastSim-QCD_250_500-madgraph-1208074320/0001/0CDB77AB-250A-DD11-8383-001617E30D38.root' - } - } - - - - - include "Configuration/StandardSequences/data/FakeConditions.cff" - - #untracked PSet maxEvents = {untracked int32 input = 100} - - # Message Logger - include "FWCore/MessageLogger/data/MessageLogger.cfi" - # replace MessageLogger.cout.threshold = "INFO" - - # Test tracks to jets association - module ipCalib = ImpactParameterCalibration { - bool resetHistograms = false - bool writeToDB = false - bool writeToRootXML = true - bool writeToBinary = false - InputTag tagInfoSrc = impactParameterTagInfos - InputTag primaryVertexSrc = offlinePrimaryVerticesFromCTFTracks - string inputCategories = "HardCoded" - FileInPath calibFile3d = "RecoBTag/ImpactParameterLearning/test/3d.xml.new" - FileInPath calibFile2d = "RecoBTag/ImpactParameterLearning/test/2d.xml.new" - int32 nBins = 10000 - double maxSignificance = 50. - - } - - - - service = PoolDBOutputService - { - string connect = "sqlite_file:btagnew_new.db" - string timetype = "runnumber" - untracked uint32 authenticationMethod = 1 - untracked string catalog = "file:mycatalog_new.xml" - untracked bool loadBlobStreamer = true - VPSet toPut= - { - { - string record = "BTagTrackProbability2DRcd" - string tag ="probBTagPDF2D_tag" - }, - { - string record = "BTagTrackProbability3DRcd" - string tag ="probBTagPDF3D_tag" - } - } - PSet DBParameters = { - untracked string authenticationPath="." - untracked int32 messageLevel=0 - } - } - - # module execution - path p = { ipCalib } - -} diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLFiles.cfg b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLFiles.cfg deleted file mode 100644 index 0afc54534da37..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLFiles.cfg +++ /dev/null @@ -1,53 +0,0 @@ -process analyzer = { - - untracked PSet maxEvents = {untracked int32 input = 0} - - source = EmptySource {untracked uint32 firstRun=1 } - #include "RecoLocalMuon/DTRecHit/data/DTParametrizedDriftAlgo_CSA07.cfi" - #include "Configuration/StandardSequences/data/FakeConditions.cff" - - - - - #untracked PSet maxEvents = {untracked int32 input = 100} - - # Message Logger - include "FWCore/MessageLogger/data/MessageLogger.cfi" - # replace MessageLogger.cout.threshold = "INFO" - - # Test tracks to jets association - module sumCalib = SumHistoCalibration{ - vstring xmlfiles2d = {"XMLs/2d_16.xml", "XMLs/2d_18.xml", "XMLs/2d_19.xml", "XMLs/2d_1.xml", "XMLs/2d_24.xml", "XMLs/2d_25.xml", "XMLs/2d_26.xml", "XMLs/2d_27.xml", "XMLs/2d_28.xml", "XMLs/2d_29.xml", "XMLs/2d_2.xml", "XMLs/2d_3.xml", "XMLs/2d_4.xml", "XMLs/2d_5.xml", "XMLs/2d_6.xml", "XMLs/2d_8.xml", "XMLs/2d_9.xml"} - vstring xmlfiles3d = {"XMLs/3d_16.xml", "XMLs/3d_18.xml", "XMLs/3d_19.xml", "XMLs/3d_1.xml", "XMLs/3d_24.xml", "XMLs/3d_25.xml", "XMLs/3d_26.xml", "XMLs/3d_27.xml", "XMLs/3d_28.xml", "XMLs/3d_29.xml", "XMLs/3d_2.xml", "XMLs/3d_3.xml", "XMLs/3d_4.xml", "XMLs/3d_5.xml", "XMLs/3d_6.xml", "XMLs/3d_8.xml", "XMLs/3d_9.xml"} - bool sum2D = true - bool sum3D = true - - bool writeToDB = false - bool writeToRootXML = true - bool writeToBinary = false - - } - - - - - - - - - - - - - - - - - - - - - # module execution - path p = { sumCalib } - -} diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg deleted file mode 100755 index b7fd024a60fd3..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/env cmsRun - -process analyzer = { - - untracked PSet maxEvents = {untracked int32 input = 0} - - source = EmptySource {untracked uint32 firstRun=1 } -include "RecoLocalMuon/DTRecHit/data/DTParametrizedDriftAlgo_CSA07.cfi" -include "Configuration/StandardSequences/data/FakeConditions.cff" - - - - -#untracked PSet maxEvents = {untracked int32 input = 100} - - # Message Logger - include "FWCore/MessageLogger/data/MessageLogger.cfi" -# replace MessageLogger.cout.threshold = "INFO" - - # Test tracks to jets association - module sumCalib = SumHistoCalibration{ - vstring xmlfiles2d = {"RecoBTag/ImpactParameterLearning/test/22d.xml", "RecoBTag/ImpactParameterLearning/test/21d.xml"} - vstring xmlfiles3d = {"RecoBTag/ImpactParameterLearning/test/32d.xml", "RecoBTag/ImpactParameterLearning/test/31d.xml"} - bool sum2D = true - bool sum3D = true - - bool writeToDB = false - bool writeToRootXML = true - bool writeToBinary = false - - } - - - - # module execution - path p = { sumCalib } - -} diff --git a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg.py b/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg.py deleted file mode 100644 index 21ad3c55060d7..0000000000000 --- a/branches/gem-CR-stand/RecoBTag/ImpactParameterLearning/test/sumXMLs.cfg.py +++ /dev/null @@ -1,44 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("sumXMLs") -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.source = cms.Source("EmptySource") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(1) -) -process.sumCalib = cms.EDFilter("SumHistoCalibration", - - xmlfiles2d = cms.vstring("RecoBTag/ImpactParameterLearning/test/2d.xml.new","RecoBTag/ImpactParameterLearning/test/2d.xml.new"), - xmlfiles3d = cms.vstring("RecoBTag/ImpactParameterLearning/test/3d.xml.new","RecoBTag/ImpactParameterLearning/test/3d.xml.new"), - sum2D = cms.bool(True), - sum3D = cms.bool(True), - writeToDB = cms.bool(False), - writeToRootXML = cms.bool(True), - writeToBinary = cms.bool(False) -) - - - -process.PoolDBOutputService = cms.Service("PoolDBOutputService", - authenticationMethod = cms.untracked.uint32(1), - loadBlobStreamer = cms.untracked.bool(True), - catalog = cms.untracked.string('file:mycatalog_new.xml'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(0), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('sqlite_file:btagnew_test_startup.db'), - toPut = cms.VPSet(cms.PSet( - record = cms.string('BTagTrackProbability2DRcd'), - tag = cms.string('probBTagPDF2D_tag_mc') - ), - cms.PSet( - record = cms.string('BTagTrackProbability3DRcd'), - tag = cms.string('probBTagPDF3D_tag_mc') - )) -) - -process.p = cms.Path(process.sumCalib) diff --git a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/BuildFile.xml b/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/BuildFile.xml deleted file mode 100644 index ae8f6fd83758a..0000000000000 --- a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/BuildFile.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.cc b/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.cc deleted file mode 100644 index 77312154fdbf4..0000000000000 --- a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.cc +++ /dev/null @@ -1,57 +0,0 @@ -#include - -#include -#include -#include -#include - -#include "EventProgress.h" - -EventProgress::EventProgress() : - nEvents(0), startTime(time(NULL)), lastUpdate(0), displayWidth(0) -{ -} - -EventProgress::EventProgress(unsigned long _nEvents) : - nEvents(_nEvents), startTime(time(NULL)), lastUpdate(0), - displayWidth(int(std::log(nEvents + 0.5) / M_LN10 + 1)) -{ -} - -EventProgress::~EventProgress() -{ - std::cout << " \r" << std::flush; -} - -void EventProgress::update(unsigned long event) -{ - time_t currentTime = time(0); - if (currentTime == lastUpdate) - return; - - lastUpdate = currentTime; - - if (displayWidth) - std::cout << "Event " << std::setw(displayWidth) << event; - else - std::cout << "Event " << event; - - if (nEvents) { - unsigned long eta = (event >= 10) ? ((currentTime - startTime) * (nEvents - event) / event) - : std::numeric_limits::max(); - - std::cout << " (" << std::setw(2) << (event * 100 / nEvents) << "%), ETA "; - if (eta >= 6000) - std::cout << "##:##\r"; - else - std::cout << std::setw(2) << (eta / 60) << ":" - << std::setfill('0') << std::setw(2) << (eta % 60); - } - - std::cout << std::setfill(' ') - << std::resetiosflags(std::ios::fixed) - << std::resetiosflags(std::ios::scientific) - << std::resetiosflags(std::ios::floatfield) - << std::setprecision(8) - << "\r" << std::flush; -} diff --git a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.h b/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.h deleted file mode 100644 index 664b7a4610738..0000000000000 --- a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/EventProgress.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __EventProgress_H__ -#define __EventProgress_H__ - -#include - -class EventProgress { - public: - EventProgress(); - EventProgress(unsigned long nEvents); - ~EventProgress(); - - void update(unsigned long event); - - private: - unsigned long nEvents; - time_t startTime; - time_t lastUpdate; - unsigned int displayWidth; -}; - -#endif // __EventProgress_H__ diff --git a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/JetTagMVAExtractor.cc b/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/JetTagMVAExtractor.cc deleted file mode 100644 index 1d595a5d46f22..0000000000000 --- a/branches/gem-CR-stand/RecoBTau/JetTagMVALearning/plugins/JetTagMVAExtractor.cc +++ /dev/null @@ -1,516 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "SimDataFormats/JetMatching/interface/JetFlavourMatching.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/BTauReco/interface/JetTagInfo.h" -#include "DataFormats/BTauReco/interface/TaggingVariable.h" - -#include "CondFormats/PhysicsToolsObjects/interface/MVAComputer.h" - -#include "RecoBTau/JetTagComputer/interface/JetTagComputer.h" -#include "RecoBTau/JetTagComputer/interface/JetTagComputerRecord.h" -#include "RecoBTau/JetTagComputer/interface/GenericMVAComputer.h" -#include "RecoBTau/JetTagComputer/interface/GenericMVAJetTagComputer.h" -#include "RecoBTau/JetTagComputer/interface/TagInfoMVACategorySelector.h" - -using namespace reco; -using namespace PhysicsTools; - -namespace { // anonymous - -class ROOTContextSentinel { - public: - ROOTContextSentinel() : dir(gDirectory), file(gFile) {} - ~ROOTContextSentinel() { gDirectory = dir; gFile = file; } - - private: - TDirectory *dir; - TFile *file; -}; - -} // anonymous namespace - -static const AtomicId kJetPt(TaggingVariableTokens[btau::jetPt]); -static const AtomicId kJetEta(TaggingVariableTokens[btau::jetEta]); - -class JetTagMVAExtractor : public edm::EDAnalyzer { - public: - explicit JetTagMVAExtractor(const edm::ParameterSet ¶ms); - ~JetTagMVAExtractor(); - - virtual void analyze(const edm::Event &event, - const edm::EventSetup &es) override; - - private: - typedef std::vector Values; - - struct Index { - inline Index(int flavour, int index) : - index(index), flavour(flavour) {} - - inline bool operator == (const Index &rhs) const - { return index == rhs.index && flavour == rhs.flavour; } - - inline bool operator < (const Index &rhs) const - { return index == rhs.index ? (flavour < rhs.flavour) : (index < rhs.index); } - - int index; - int flavour; - }; - - struct Tree { - Tree(const JetTagMVAExtractor &main, Index index); - ~Tree(); - - struct Value { - Value() : type(0), multiple(false) {} - Value(char type, bool multiple) : type(type), multiple(multiple) {} - - void clear() { sInt = -999; sDouble = -999.0; vInt.clear(); vDouble.clear(); } - void set(double value) - { - if (type == 'I' && multiple) - vInt.push_back((int)std::floor(value + 0.5)); - else if (type == 'D' && multiple) - vDouble.push_back(value); - else if (type == 'I' && !multiple) - sInt = (int)std::floor(value + 0.5); - else if (type == 'D' && !multiple) - sDouble = value; - } - - char type; - bool multiple; - - void *indirect; - Int_t sInt; - Double_t sDouble; - std::vector vInt; - std::vector vDouble; - }; - - int flavour; - TTree *tree; - std::auto_ptr file; - std::map values; - }; - - struct Label { - Label() {} - Label(const edm::ParameterSet &pset); - Label(const Label &label) : variables(label.variables), label(label.label) {} - - struct Var { - Var(const std::string &name); - - AtomicId id; - char type; - bool multiple; - }; - - std::vector variables; - std::string label; - }; - - friend class Tree; - - void setup(const JetTagComputer &computer); - void process(Index index, const Values &values); - - edm::InputTag jetFlavour; - std::auto_ptr categorySelector; - - double minPt; - double minEta; - double maxEta; - - bool setupDone; - std::string jetTagComputer; - const GenericMVAComputer mvaComputer; - - std::map tagInfoLabels; - std::vector tagInfos; - - std::vector