Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
d5f2d27
clean working geometry
hayfasfar Jul 1, 2025
7bbcc79
adding geometry python configuration files
hayfasfar Jul 2, 2025
6377e26
adding geometry python configuration files
hayfasfar Jul 2, 2025
b47e418
adding geometry python configuration files
hayfasfar Jul 2, 2025
6f9ae15
costum config for G4 step
hayfasfar Jul 2, 2025
ec1f866
Update README.md
hayfasfar Jul 2, 2025
8c3d944
Update README.md
hayfasfar Jul 2, 2025
75b4bfb
Update README.md
hayfasfar Jul 2, 2025
eae81b3
Update README.md
hayfasfar Jul 2, 2025
6ffedf8
Update README.md
hayfasfar Jul 2, 2025
c090e42
Update README.md
hayfasfar Jul 2, 2025
0d0dc52
Update README.md
hayfasfar Jul 2, 2025
78d6111
Update README.md
hayfasfar Jul 2, 2025
742fc49
Update README.md
hayfasfar Jul 7, 2025
c1ecf3b
scram b code-format
hayfasfar Jul 9, 2025
c62d835
Merge branch 'cms-sw:master' into crack_from_hayfasfar
hayfasfar Aug 23, 2025
b5d0e83
Add modules to rekey PF candidates of PATObjects and VertexCompositeC…
nurfikri89 Sep 24, 2025
026c148
Explicitly use packedPFCandidates created in previous process
nurfikri89 Sep 24, 2025
b299d7f
First customization configurations for reMiniFromMini workflow
nurfikri89 Sep 24, 2025
70f135a
Specify packedPFCandidates collection for MET recomputation
nurfikri89 Sep 24, 2025
0e51bc8
Fix for quote and spaces
pietroGru Sep 24, 2025
574643a
Revert modification in setupPuppiForPackedPF(), set Puppi producers t…
nurfikri89 Sep 24, 2025
1ba913b
Apply code-format patches
nurfikri89 Sep 24, 2025
c23d0e4
Remove MultiClusterAssociators.
bfonta Oct 3, 2025
8ff0b09
simplify golden json selection logic using regex; add better error me…
kpedro88 Oct 3, 2025
c77208f
valid range of Energy values for LHCInfoPerFill O2O + refacotring and
JanChyczynski Aug 8, 2025
deedc43
Merged from1510pre6_miniFromMiniSetup_v2 from repository nurfikri89 w…
vlimant Oct 6, 2025
deb89db
Use the right TTreeCache in getEntryForAllBranches()
makortel Oct 2, 2025
0039138
Add ESProducer transition that has entries for each unique combinatio…
gartung Oct 6, 2025
d5a48f4
ESProducer -> event setup transition
gartung Oct 6, 2025
caddbb5
ESProducer -> event setup
gartung Oct 6, 2025
b3323ec
+#include RooAbsPdf.h
akritkbehera Oct 6, 2025
7badc66
Add a test code to ivestigate the shrtcoming of V19
Oct 7, 2025
5ef40b7
Code check
Oct 7, 2025
f4d3bb3
changes s.t. plot_EcalPedestalsDiffTwoTags and plot_EcalPedestalsDiff…
jprendi Oct 7, 2025
7d22d2f
HLT menu development for 15_0_X (branch for 16_0_X)
Martin-Grunewald Sep 24, 2025
c71ce2d
Migration to new template 15_0_15, including frozen menus
Martin-Grunewald Oct 1, 2025
fcf05cc
percolate DQMGPUvsCPU event content to HLTDebugRAW and HLTDebugFEVT f…
mmusich Oct 6, 2025
474703d
Add layerclusters to NGT NanoAOD Validation
waredjeb Oct 6, 2025
9e109be
[hotfix] Avoid division by zero.
bfonta Oct 7, 2025
78e7f94
Fix UBSAN build error.
bfonta Oct 7, 2025
a4ee8f7
Fix float comparison to zero.
bfonta Oct 7, 2025
09fba89
streamlining of PAT configuration
vlimant Oct 7, 2025
da17bba
re-mini configuration, on top of Fikri's customisation
vlimant Oct 7, 2025
b117cde
rename era modifiers related to scouting
patinkaew Sep 23, 2025
4cfabe2
add era modifier for scouting in 2025
patinkaew Sep 23, 2025
9ae1e49
add era modifier for scouting in 2025 for ScoutingNano
patinkaew Sep 23, 2025
dd1a88f
add skipEventsWithoutScoutingByEra to enable skipEventsWithoutScoutin…
patinkaew Sep 23, 2025
29d9dfd
add more workflows for running ScoutingNano with ScoutingPFMonitor
patinkaew Sep 24, 2025
550bd41
Replace FLT_EPSILON by std epsilon.
bfonta Oct 7, 2025
6c38aaf
clean old code
vlimant Oct 7, 2025
7ced6f8
shadow inexiting modules in HI config
vlimant Oct 7, 2025
5a165f4
Merge pull request #49079 from cms-tsg-storm/HLTdevelopment150X_for160X
cmsbuild Oct 7, 2025
6c63a37
fix filter modules in tagging mode in case of fastSim configruation
vlimant Oct 7, 2025
9f899cc
Add log warning for empty histograms.
bfonta Oct 7, 2025
4b670a8
Correct epsilon type.
bfonta Oct 7, 2025
f4805a8
put back label: moduleLabel because recordName can be added as anothe…
gartung Oct 7, 2025
fd323db
Migration to ConfDB template CMSSW_15_1_0 and removal of obsoleted cu…
mmusich Oct 7, 2025
0c06e43
Merge pull request #49084 from patinkaew/scouting_nano_dev_fixskip_16…
cmsbuild Oct 8, 2025
50c4fa0
Merge pull request #49076 from jprendi/ecalPedestalChanges_16_X
cmsbuild Oct 8, 2025
38a94c0
Merge pull request #49045 from kpedro88/dasNevents
cmsbuild Oct 8, 2025
cebec1a
Merge pull request #49075 from bsunanda/Phase2-hgx364F
cmsbuild Oct 8, 2025
cf0b054
Merge pull request #49074 from akritkbehera/Update-TagProbeFilter_Phy…
cmsbuild Oct 8, 2025
75b0b32
Merge pull request #49070 from makortel/fixTTreeCache
cmsbuild Oct 8, 2025
63a42e9
Merge pull request #49068 from waredjeb/lc_inNanoAOD_CMSSW_16_0_X
cmsbuild Oct 8, 2025
a9f21b8
Merge pull request #49054 from bfonta/remove_MultiClusterAssociators
cmsbuild Oct 8, 2025
640e69c
Merge pull request #49049 from cms-AlCaDB/energy0_fix
cmsbuild Oct 8, 2025
53e10a9
detect incomplete data flag that will trigger EoR for the process
smorovic Sep 29, 2025
9109c63
Updated FWCore_ref_t.cppunit.cpp
akritkbehera Oct 8, 2025
8ba00e0
Add histogram sanity check.
bfonta Oct 8, 2025
2b5b014
introduce new dEdX weights for HGCAL geometry V19
waredjeb Oct 8, 2025
2699504
Merge pull request #48518 from hayfasfar/crack_from_hayfasfar
cmsbuild Oct 8, 2025
9ebb943
Merge pull request #49091 from cms-tsg-storm/HLTdevelopment151X_for160X
cmsbuild Oct 8, 2025
199a955
Merge pull request #49099 from smorovic/dev160x-eorflag
cmsbuild Oct 8, 2025
606e36e
Template LCToSCAssociators
elenavernazza Sep 24, 2025
3db7a4d
Support PFClusters in LCToSCAssociators and propagate to dependencies…
elenavernazza Sep 24, 2025
b6f169f
Template LCToCPAssociators
elenavernazza Sep 24, 2025
e3c462c
Complement definitions in classes.h
elenavernazza Sep 24, 2025
82dc31c
Fix RecHitMapProducer logic to support barrel
elenavernazza Sep 25, 2025
614265e
Fix runtime crash: accessing nullptr pointer in associator classes.
bfonta Oct 1, 2025
913eebb
Add protection against invalid handles.
bfonta Oct 2, 2025
b9e737e
Update ref_t.cppunit.cpp
akritkbehera Oct 8, 2025
de0b4eb
Added namedtuple UniqueKey for better readability
gartung Oct 8, 2025
c5b7759
Use EventSetup instead of event setup in comments
gartung Oct 8, 2025
0a60919
Use EVENTSETUP_TRANSITION text constant as EventSetup transition key …
gartung Oct 8, 2025
baf71ca
Merge pull request #49103 from akritkbehera/FWCore_fix_testFWCoreFWLite
cmsbuild Oct 9, 2025
bc5a389
run2 106X mini input limitations
vlimant Oct 9, 2025
02e10ba
Replace edm::LogWarning by LogDebug to reduce log size.
bfonta Oct 9, 2025
86914ef
Merge pull request #48985 from pietroGru/pr/cmsDriver
cmsbuild Oct 9, 2025
81305fd
Review: Allow defining valid range of Energy values for LHCInfoPerFil…
JanChyczynski Oct 8, 2025
8c97130
M2M test workflows. A2M UL workflows
vlimant Oct 9, 2025
52b2549
use range whereever possible
vlimant Oct 9, 2025
af42698
code formatting
vlimant Oct 9, 2025
75569c8
a range here too
vlimant Oct 9, 2025
f8fd039
use variable
vlimant Oct 9, 2025
1a552c6
enable Mini-to-mini on pre14.2 postUL MINI input
vlimant Oct 9, 2025
2f221c7
more Mini from Mini test workflows, and fix to harvesting of the appr…
vlimant Oct 9, 2025
8ec7a4b
Merge pull request #48995 from cms-ngt-hlt/TemplateLCToSCAssociators
cmsbuild Oct 9, 2025
54e1534
Merge pull request #49082 from cms-ngt-hlt/hotfix/division_by_zero
cmsbuild Oct 9, 2025
534614f
Merge pull request #49108 from waredjeb/dedx_weightv19_CMSSW_16_0_X
cmsbuild Oct 9, 2025
1903dbf
Merge pull request #49088 from gartung/gartung-PerTools-AllocMonitorC…
cmsbuild Oct 9, 2025
3663afc
Merge pull request #49095 from cms-AlCaDB/energy0_fix_review
cmsbuild Oct 9, 2025
c0069ea
remove irrelevant tests as per @ftorrresd
vlimant Oct 9, 2025
18c67c3
add Mini from mini workflows for run2 UL data
vlimant Oct 9, 2025
6e062cf
MIMI typo
vlimant Oct 9, 2025
514a8ca
add 23 data Mini to Mini, rename step for Summer23
vlimant Oct 9, 2025
51f24a9
Merge branch 'master' into mini_from_mini
vlimant Oct 9, 2025
8e9096d
use --data option and MINIAOD when it comes to data.
vlimant Oct 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ namespace {
l_tagname[1] = l_tagname[0];
}
run[1] = std::get<0>(lastiov);
for (int irun = 0; irun < nIOVs; irun++) {
for (int irun = 0; irun < 2; irun++) {
std::shared_ptr<EcalPedestals> payload;
if (irun == 0) {
payload = this->fetchPayload(std::get<1>(firstiov));
Expand Down Expand Up @@ -606,7 +606,7 @@ namespace {
}
} // loop over cellid
} // barrel data present
if (payload->endcapItems().empty()) {
if (!payload->endcapItems().empty()) {
// looping over the EE channels
for (int iz = -1; iz < 2; iz = iz + 2) { // -1 or +1
for (int iy = IY_MIN; iy < IY_MAX + IY_MIN; iy++) {
Expand Down Expand Up @@ -824,9 +824,9 @@ namespace {
return true;
} // fill method
}; // class EcalPedestalsBase
using EcalPedestalsDiffOneTag = EcalPedestalsBase<cond::payloadInspector::SINGLE_IOV, 1, 0>;
using EcalPedestalsDiffOneTag = EcalPedestalsBase<cond::payloadInspector::MULTI_IOV, 1, 0>;
using EcalPedestalsDiffTwoTags = EcalPedestalsBase<cond::payloadInspector::SINGLE_IOV, 2, 0>;
using EcalPedestalsRatioOneTag = EcalPedestalsBase<cond::payloadInspector::SINGLE_IOV, 1, 1>;
using EcalPedestalsRatioOneTag = EcalPedestalsBase<cond::payloadInspector::MULTI_IOV, 1, 1>;
using EcalPedestalsRatioTwoTags = EcalPedestalsBase<cond::payloadInspector::SINGLE_IOV, 2, 1>;

/*************************************************
Expand Down
70 changes: 55 additions & 15 deletions CondTools/RunInfo/interface/LHCInfoPerFillPopConSourceHandler.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#pragma once

#include "CondCore/PopCon/interface/PopConSourceHandler.h"
#include "CondFormats/RunInfo/interface/LHCInfoPerFill.h"
#include "CondTools/RunInfo/interface/OMSAccess.h"
Expand All @@ -11,31 +13,64 @@ class LHCInfoPerFillPopConSourceHandler : public popcon::PopConSourceHandler<LHC
void getNewObjects() override;
std::string id() const override;

private:
bool isPayloadValid(const LHCInfoPerFill& payload) const;

protected:
virtual std::unique_ptr<LHCInfoPerFill> findFillToProcess(cond::OMSService& oms,
const boost::posix_time::ptime& nextFillSearchTime,
bool inclusiveSearchTime);
void addEmptyPayload(cond::Time_t iov);

// Add payload to buffer and store corresponding lumiid IOV in m_timestampToLumiid map
void addPayloadToBuffer(cond::OMSServiceResultRef& row);
void convertBufferedIovsToLumiid(std::map<cond::Time_t, cond::Time_t> timestampToLumiid);

size_t getLumiData(const cond::OMSService& oms,
unsigned short fillId,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);
/**
* @return A tuple containing:
* - cond::OMSServiceResult: The result of the luminosity query.
* - bool: Indicates whether the query was successful.
* - std::unique_ptr<cond::OMSServiceQuery>: Owner object for the query.
* Query result resources are tied to its lifetime so it needs to be kept in the same scope.
*/
virtual std::tuple<cond::OMSServiceResult, bool, std::unique_ptr<cond::OMSServiceQuery>> executeLumiQuery(
const cond::OMSService& oms,
unsigned short fillId,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime) const;

virtual void getLumiData(const cond::OMSService& oms,
unsigned short fillId,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);

virtual void getDipData(const cond::OMSService& oms,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);

void getDipData(const cond::OMSService& oms,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);
virtual bool getCTPPSData(cond::persistency::Session& session,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);

bool getCTPPSData(cond::persistency::Session& session,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);
virtual bool getEcalData(cond::persistency::Session& session,
const boost::posix_time::ptime& lowerTime,
const boost::posix_time::ptime& upperTime);

bool getEcalData(cond::persistency::Session& session,
const boost::posix_time::ptime& lowerTime,
const boost::posix_time::ptime& upperTime);
bool getCTPPSDataImpl(cond::persistency::Session& session,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime);

private:
bool getEcalDataImpl(cond::persistency::Session& session,
const boost::posix_time::ptime& lowerTime,
const boost::posix_time::ptime& upperTime);

protected:
virtual std::tuple<cond::persistency::Session, cond::persistency::Session> createSubsystemDbSessions() const;
virtual cond::Time_t getNextFillSearchTimestamp(cond::Time_t lastSince) const;
virtual cond::Time_t handleIfNewTagAndGetLastSince();
virtual void fetchLastPayload();
virtual boost::posix_time::ptime getExecutionTime() const;
void populateIovs();
void handleInvalidPayloads();
bool m_debug;
// starting date for sampling
boost::posix_time::ptime m_startTime;
Expand All @@ -46,6 +81,11 @@ class LHCInfoPerFillPopConSourceHandler : public popcon::PopConSourceHandler<LHC
std::string m_connectionString, m_ecalConnectionString;
std::string m_authpath;
std::string m_omsBaseUrl;

float m_minEnergy; // [GeV], applicable in duringFill mode only
float m_maxEnergy; // [GeV], applicable in duringFill mode only
bool m_throwOnInvalid = true;

std::unique_ptr<LHCInfoPerFill> m_fillPayload;
std::shared_ptr<LHCInfoPerFill> m_prevPayload;
std::vector<std::pair<cond::Time_t, std::shared_ptr<LHCInfoPerFill>>> m_tmpBuffer;
Expand Down
15 changes: 8 additions & 7 deletions CondTools/RunInfo/interface/LHCInfoPerLSPopConSourceHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class LHCInfoPerLSPopConSourceHandler : public popcon::PopConSourceHandler<LHCIn

private:
void populateIovs();
void filterInvalidPayloads();
void handleInvalidPayloads();
bool isPayloadValid(const LHCInfoPerLS& payload) const;
void addEmptyPayload(cond::Time_t iov);
void addDefaultPayload(cond::Time_t iov, unsigned short fill, const cond::OMSService& oms);
Expand Down Expand Up @@ -62,15 +62,16 @@ class LHCInfoPerLSPopConSourceHandler : public popcon::PopConSourceHandler<LHCIn
float m_maxBetaStar; // meters
float m_minCrossingAngle; // urad
float m_maxCrossingAngle; // urad
bool m_throwOnInvalid; // duringFill: whether to throw exception or filter out invalid payloads

std::unique_ptr<LHCInfoPerLS> m_fillPayload;
std::shared_ptr<LHCInfoPerLS> m_prevPayload;
cond::Time_t m_startFillTime;
cond::Time_t m_endFillTime;
cond::Time_t m_prevEndFillTime = 0;
cond::Time_t m_prevStartFillTime;
cond::Time_t m_startStableBeamTime;
cond::Time_t m_endStableBeamTime;
cond::Time_t m_startFillTime{};
cond::Time_t m_endFillTime{};
cond::Time_t m_prevEndFillTime{};
cond::Time_t m_prevStartFillTime{};
cond::Time_t m_startStableBeamTime{};
cond::Time_t m_endStableBeamTime{};
std::vector<std::pair<cond::Time_t, std::shared_ptr<LHCInfoPerLS>>> m_tmpBuffer;
bool m_lastPayloadEmpty = false;
// mapping of lumisections IDs (pairs of runnumber an LS number) found in OMS to
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#pragma once

#include "CondFormats/RunInfo/interface/LHCInfoPerFill.h"
#include "CondTools/RunInfo/interface/LHCInfoPerFillPopConSourceHandler.h"
#include "CondTools/RunInfo/interface/OMSAccess.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include <map>
#include <memory>
#include <string>
#include <tuple>

/*
* A mock PopCon source handler for testing LHCInfoPerFillPopCon logic without
* external dependencies (e.g. OMS, subsystem DBs, destination DB).
*/

class TestLHCInfoPerFillPopConSourceHandler : public LHCInfoPerFillPopConSourceHandler {
public:
TestLHCInfoPerFillPopConSourceHandler(edm::ParameterSet const& pset);
~TestLHCInfoPerFillPopConSourceHandler() override = default;

std::vector<std::pair<cond::Time_t /*timestamp*/, std::shared_ptr<LHCInfoPerFill>>> mockOmsFills;
std::map<unsigned short /*fillNr*/, cond::OMSServiceResult> mockLumiData;
boost::posix_time::ptime mockExecutionTime;

const Container& iovs() const { return m_iovs; }

protected:
std::unique_ptr<LHCInfoPerFill> findFillToProcess(cond::OMSService& oms,
const boost::posix_time::ptime& nextFillSearchTime,
bool inclusiveSearchTime) override;

cond::Time_t handleIfNewTagAndGetLastSince() override;

void fetchLastPayload() override {};

boost::posix_time::ptime getExecutionTime() const override;

std::tuple<cond::persistency::Session, cond::persistency::Session> createSubsystemDbSessions() const override;

void getDipData(const cond::OMSService& oms,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime) override {};

bool getCTPPSData(cond::persistency::Session& session,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime) override {
return true;
};

bool getEcalData(cond::persistency::Session& session,
const boost::posix_time::ptime& lowerTime,
const boost::posix_time::ptime& upperTime) override {
return true;
};

std::tuple<cond::OMSServiceResult, bool, std::unique_ptr<cond::OMSServiceQuery>> executeLumiQuery(
const cond::OMSService& oms,
unsigned short fillId,
const boost::posix_time::ptime& beginFillTime,
const boost::posix_time::ptime& endFillTime) const override;
};
21 changes: 19 additions & 2 deletions CondTools/RunInfo/python/LHCInfoPerFillPopConAnalyzer_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,19 @@
, """duringFill only: run-unique key for writing with OnlinePopCon
(used for confirming proper upload)"""
)

# checking for invalid energy values, duringFill mode specific
options.register('minEnergy', 450
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [GeV] min value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('maxEnergy', 8000.
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [GeV] max value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('throwOnInvalid', False, # Intended production setup: False for endFill, True for duringFill
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.bool,
"duringFill only: If true, throw on invalid payloads; if false, filter them out.")

# so far there was no need to use option, added just in case
options.register( 'authenticationPath'
Expand All @@ -106,6 +118,8 @@
raise ValueError("mode argument not provided. Supported modes are: duringFill endFill")
if options.mode not in ("duringFill", "endFill"):
raise ValueError("Wrong mode argument. Supported modes are: duringFill endFill")
if options.throwOnInvalid and options.mode != "duringFill":
raise ValueError("throwOnInvalid option can be True only in duringFill mode")

CondDBConnection = CondDB.clone( connect = cms.string( options.destinationConnection ) )
CondDBConnection.DBParameters.messageLevel = cms.untracked.int32( options.messageLevel )
Expand Down Expand Up @@ -173,7 +187,10 @@
ecalConnectionString = cms.untracked.string(options.ecalConnection),
omsBaseUrl = cms.untracked.string(options.oms),
authenticationPath = cms.untracked.string(options.authenticationPath),
debug=cms.untracked.bool(False)
debug=cms.untracked.bool(False),
minEnergy = cms.untracked.double(options.minEnergy),
maxEnergy = cms.untracked.double(options.maxEnergy),
throwOnInvalid = cms.untracked.bool(options.throwOnInvalid)
),
loggingOn = cms.untracked.bool(True),
IsDestDbCheckedInQueryLog = cms.untracked.bool(False)
Expand Down
18 changes: 12 additions & 6 deletions CondTools/RunInfo/python/LHCInfoPerLSPopConAnalyzer_cfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,25 +131,28 @@
The default payload is inserted after the last processed fill has ended
and there's no ongoing stable beam yet. """
)


# checking for invalid values, duringFill mode specific
# it's unlikely to ever use values different from the defaults, added as a parameter just in case
options.register('minBetaStar', 0.1
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [meters] min value of the range of valid values.
, """duringFill only: [meters] min value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('maxBetaStar', 100.
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [meters] min value of the range of valid values.
, """duringFill only: [meters] max value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('minCrossingAngle', 10.
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [urad] min value of the range of valid values.
, """duringFill only: [urad] min value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('maxCrossingAngle', 500.
, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float
, """duringFill only: [urad] min value of the range of valid values.
, """duringFill only: [urad] max value of the range of valid values (inclusive).
If the value is outside of this range the payload is not uploaded""")
options.register('throwOnInvalid', False, # Intended production setup: False for endFill, True for duringFill
VarParsing.VarParsing.multiplicity.singleton,
VarParsing.VarParsing.varType.bool,
"duringFill only: If true, throw on invalid payloads; if false, filter them out.")

# as the previous options, so far there was no need to use option, added just in case
options.register( 'authenticationPath'
Expand All @@ -164,6 +167,8 @@
raise ValueError("mode argument not provided. Supported modes are: duringFill endFill")
if options.mode not in ("duringFill", "endFill"):
raise ValueError("Wrong mode argument. Supported modes are: duringFill endFill")
if options.throwOnInvalid and options.mode != "duringFill":
raise ValueError("throwOnInvalid option can be True only in duringFill mode")

CondDBConnection = CondDB.clone( connect = cms.string( options.destinationConnection ) )
CondDBConnection.DBParameters.messageLevel = cms.untracked.int32( options.messageLevel )
Expand Down Expand Up @@ -241,6 +246,7 @@
maxBetaStar = cms.untracked.double(options.maxBetaStar),
minCrossingAngle = cms.untracked.double(options.minCrossingAngle),
maxCrossingAngle = cms.untracked.double(options.maxCrossingAngle),
throwOnInvalid = cms.untracked.bool(options.throwOnInvalid)
),
loggingOn = cms.untracked.bool(True),
IsDestDbCheckedInQueryLog = cms.untracked.bool(False)
Expand Down
Loading