Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hlttracking parabolic magnetic field in building and fitting #2291

Conversation

mtosi
Copy link
Contributor

@mtosi mtosi commented Feb 4, 2014

I added the missing config file update
MagneticField_38T_PostLS1_cff.py
and now the error spotted in #2244 (comment)
seems to be fixed

1306.0_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15 Step0-PASSED Step1-PASSED Step2-PASSED Step3-PASSED - time date Tue Feb 4 15:57:32 2014-date Tue Feb 4 15:45:01 2014; exit: 0 0 0 0
1 1 1 1 tests passed, 0 0 0 0 failed

@cerati @rovere @Martin-Grunewald @perrotta

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 4, 2014

A new Pull Request was created by @mtosi (mia tosi) for CMSSW_7_1_X.

hlttracking parabolic magnetic field in building and fitting

It involves the following packages:

Configuration/StandardSequences
MagneticField/ParametrizedEngine
RecoTracker/CkfPattern
RecoTracker/IterativeTracking
RecoTracker/TkNavigation
RecoTracker/TkSeedGenerator
RecoTracker/TrackProducer
TrackingTools/GeomPropagators
TrackingTools/KalmanUpdators
TrackingTools/MaterialEffects
TrackingTools/Producers

@nclopezo, @vlimant, @franzoni, @cmsbuild, @anton-a, @thspeer, @slava77, @Degano, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @cerati, @gpetruc, @GiacomoSguazzoni, @rovere this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
@nclopezo, @ktf you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 5, 2014

@nclopezo nclopezo modified the milestones: CMSSW_7_1_0_pre3, CMSSW_7_1_0_pre2 Feb 5, 2014
@@ -75,6 +75,10 @@
detIdsToDebug.push_back(0);
detIdsToDebug.push_back(0);
}
if (cfg.exists("SimpleMagneticField")) {
useSimpleMF = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bool useSimpleMF is never initialized (to false): please do it

@mtosi
Copy link
Contributor Author

mtosi commented Feb 7, 2014

@perrotta @slava77 @cerati @rovere @fwyzard
requested changes have been implemented

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 7, 2014

Pull request #2291 was updated. @nclopezo, @vlimant, @franzoni, @cmsbuild, @anton-a, @thspeer, @slava77, @Degano, @davidlange6 can you please check and sign again.

@nclopezo
Copy link
Contributor

…dRecord>().get(bfield) to get<IdealMagneticFieldRecord>().get(mfESInputTag, bfield) w/ mfESInputTag edm::ESInputTag which is constructed from the string parameter mfName. This parameter is set to "" as default value (in order to garuantee back-compatibility (i.e. standard magnetic field from DB) and it can be defined by config file as well
@mtosi
Copy link
Contributor Author

mtosi commented Feb 11, 2014

I've just update this pull request
RecoTracker/TkSeedGenerator/plugins/MultiHitGeneratorFromChi2.cc
RecoTracker/TkSeedGenerator/plugins/SeedFromConsecutiveHitsCreator.cc
RecoTracker/TkSeedGenerator/plugins/SeedFromConsecutiveHitsCreator.h
RecoTracker/TrackProducer/interface/TrackProducerBase.icc

are now using the function
EventSetupRecord::get(ESInputTag const& iTag, HolderT& iHolder)
instead of
EventSetupRecord::get(HolderT& iHolder)

where iTag is built w/ a string iName
which is set to "" as default parameter (it should be back-compatible)
and it can be defined by config as well

@cerati @rovere @perrotta @Martin-Grunewald @fwyzard @Dr15Jones

@cmsbuild
Copy link
Contributor

Pull request #2291 was updated. @nclopezo, @vlimant, @franzoni, @cmsbuild, @anton-a, @thspeer, @slava77, @Degano, @davidlange6 can you please check and sign again.

@cmsbuild
Copy link
Contributor

Pull request #2291 was updated. @nclopezo, @vlimant, @franzoni, @cmsbuild, @anton-a, @thspeer, @slava77, @Degano, @davidlange6 can you please check and sign again.

@cmsbuild
Copy link
Contributor

-1
When I ran the RelVals I found an error in the following worklfows:
4.22 step2

runTheMatrix-results/4.22_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC/step2_RunCosmics2011A+RunCosmics2011A+RECOCOSD+ALCACOSD+SKIMCOSD+HARVESTDC.log
----- Begin Fatal Exception 12-Feb-2014 12:32:15 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 160960
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=AutoMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be AutoMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

401.0 step1

runTheMatrix-results/401.0_TTbarNewMix+TTbarFSPU2+HARVESTFS/step1_TTbarNewMix+TTbarFSPU2+HARVESTFS.log
----- Begin Fatal Exception 12-Feb-2014 12:33:25 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module EventSetupRecordDataGetter/'hltGetConditions'
   [2] Using EventSetup component CkfTrajectoryBuilderESProducer/'CkfTrajectoryBuilder' to make data TrajectoryBuilder/'CkfTrajectoryBuilder' in record CkfComponentsRecord
   [3] Using EventSetup component PropagatorWithMaterialESProducer/'MaterialPropagatorParabolicMF' to make data Propagator/'PropagatorWithMaterialParabolicMf' in record TrackingComponentsRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=VolumeBasedMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be VolumeBasedMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

1000.0 step2

runTheMatrix-results/1000.0_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT/step2_RunMinBias2011A+RunMinBias2011A+TIER0+SKIMD+HARVESTDfst2+ALCASPLIT.log
----- Begin Fatal Exception 12-Feb-2014 12:34:06 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 165121
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=AutoMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be AutoMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

5.1 step1

runTheMatrix-results/5.1_TTbar+TTbarFS+HARVESTFS/step1_TTbar+TTbarFS+HARVESTFS.log
----- Begin Fatal Exception 12-Feb-2014 12:33:12 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module EventSetupRecordDataGetter/'hltGetConditions'
   [2] Using EventSetup component CkfTrajectoryBuilderESProducer/'CkfTrajectoryBuilder' to make data TrajectoryBuilder/'CkfTrajectoryBuilder' in record CkfComponentsRecord
   [3] Using EventSetup component PropagatorWithMaterialESProducer/'MaterialPropagatorParabolicMF' to make data Propagator/'PropagatorWithMaterialParabolicMf' in record TrackingComponentsRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=VolumeBasedMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be VolumeBasedMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

1001.0 step2

runTheMatrix-results/1001.0_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD/step2_RunMinBias2011A+RunMinBias2011A+TIER0EXP+ALCAEXP+ALCAHARVD.log
----- Begin Fatal Exception 12-Feb-2014 12:36:31 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 165121
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=AutoMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be AutoMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

1003.0 step2

runTheMatrix-results/1003.0_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM/step2_RunMinBias2012A+RunMinBias2012A+RECODDQM+HARVESTDDQM.log
----- Begin Fatal Exception 12-Feb-2014 12:36:32 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 191226
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=AutoMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be AutoMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

8.0 step3

runTheMatrix-results/8.0_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS/step3_BeamHalo+BeamHalo+DIGICOS+RECOCOS+ALCABH+HARVESTCOS.log
----- Begin Fatal Exception 12-Feb-2014 12:36:40 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=VolumeBasedMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be VolumeBasedMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

1306.0 step3

runTheMatrix-results/1306.0_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15/step3_SingleMuPt1_UP15+SingleMuPt1_UP15+DIGIUP15+RECOUP15+HARVESTUP15.log
----- Begin Fatal Exception 12-Feb-2014 12:38:15 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=VolumeBasedMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be VolumeBasedMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

4.53 step3

runTheMatrix-results/4.53_RunPhoton2012B+RunPhoton2012B+HLTD+RECODreHLT+HARVESTDreHLT/step3_RunPhoton2012B+RunPhoton2012B+HLTD+RECODreHLT+HARVESTDreHLT.log
----- Begin Fatal Exception 12-Feb-2014 12:38:43 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 194533
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=AutoMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be AutoMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

25.0 step3

runTheMatrix-results/25.0_TTbar+TTbar+DIGI+RECO+HARVEST+ALCATT/step3_TTbar+TTbar+DIGI+RECO+HARVEST+ALCATT.log
----- Begin Fatal Exception 12-Feb-2014 12:51:01 CET-----------------------
An exception of category 'EventSetupWrongModule' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module ConversionTrackCandidateProducer/'conversionTrackCandidates'
   [2] Using EventSetup component NavigationSchoolESProducer/'navigationSchoolESProducer' to make data NavigationSchool/'SimpleNavigationSchool' in record NavigationSchoolRecord
Exception Message:
EventSetup data was retrieved using an ESInputTag with the values
  moduleLabel = 'ParabolicMf'
  dataLabel = ''
but the data matching the C++ class type and dataLabel comes from module type=VolumeBasedMagneticFieldESProducer label=''.
 Please either change the ESInputTag's 'module' label to be VolumeBasedMagneticFieldESProducer
 or add the EventSetup module ParabolicMf to the configuration.
----- End Fatal Exception -------------------------------------------------

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-2291/136/summary.html

…ionTrackCandidates (SimpleNavigationSchool) and hltGetConditions (MaterialPropagatorParabolicMF) )
@mtosi
Copy link
Contributor Author

mtosi commented Feb 12, 2014

I've just check,
the problem is triggered by the usage of ESInputTag instead of string

going back to string (and using the function EventSetupRecord::get(std::string& iTag, HolderT& iHolder)
everything works fine

@perrotta @Martin-Grunewald @cerati @rovere @fwyzard @Dr15Jones

@cmsbuild
Copy link
Contributor

Pull request #2291 was updated. @nclopezo, @vlimant, @franzoni, @cmsbuild, @anton-a, @thspeer, @slava77, @Degano, @davidlange6 can you please check and sign again.

@cmsbuild
Copy link
Contributor

@@ -52,7 +52,7 @@ void SeedFromProtoTrack::init(const reco::Track & proto, const edm::EventSetup&
const Propagator* propagator = &(*propagatorHandle);

edm::ESHandle<MagneticField> field;
es.get<IdealMagneticFieldRecord>().get(field);
es.get<IdealMagneticFieldRecord>().get(field);//fixme
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this "fixme" about?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it means that the (optional) simple magnetic field should also be added here but I could not find a simple way to propagate the pset to here (another possibility is to hardcode the name as done for the propagator but I don't like it)

@slava77
Copy link
Contributor

slava77 commented Feb 20, 2014

+1

Testing #2291 48a9518
in CMSSW_7_1_X_2014-02-17-0200/sign310

fwlite tests (validate.C)

  • QCDFlatPt15s3000wf38p0 1k events
    • many small changes mostly from variations in track parameters
    • most visible effect is in the displaced vertexes (still, not very stat significant to conclude degradation) looks like a small reduction in efficiency
      all_sign310vsorig_qcdflatpt15s3000wf38p0c_recopfdisplacedvertexs_particleflowdisplacedvertex__reco_obj_nsecondarytracks
    • noticeable increase in the yield of general tracks at eta~0 (loopers get split?)
      all_sign310vsorig_qcdflatpt15s3000wf38p0c_recotracks_generaltracks__reco_obj_eta
  • RunPhoton2012Bwf4p53 (100 events): overall similar to the above (also lower number of tracks on displaced vertices)
    • more (~+5%) conversion tracks of medium/short length
      all_sign310vsorig_runphoton2012bwf4p53c_recotracks_conversionsteptracks__rereco_obj_found
  • SingleElectronPt1000wf16p0 (2K events): generally small changes, except in the pf displaced vertices (x2 less)
    all_sign310vsorig_singleelectronpt1000wf16p0c_recopfdisplacedvertexs_particleflowdisplacedvertex__reco_obj_trackssize
  • TTbarPUwf202p0 (200 events) similar behavior as in other wflows
    • notably, the number of pf displaced vertices has increased
      all_sign310vsorig_ttbarpuwf202p0c_recopfdisplacedvertexs_particleflowdisplacedvertex__reco_obj_trackssize
    • the extra yield in general track eta near zero is visible here too (not very pronounced)

DQM plots show results in agreement with above. More obvious is the increase in the duplicate rate near zero (matching the increase bump in general track yields; this is most visible in iter6) in samples with many tracks
e.g. wf 38.0 QCD dijet
wf38_general_dup_vs_eta

I suppose that by the next pre-release (or so) we will get an update to the duplicate merger.

@slava77
Copy link
Contributor

slava77 commented Feb 20, 2014

on timing, just to confirm the expected: there is a 5-10% reduction in CPU in *trackCandidates for general tracks iterations and for conversion tracks (based on TTBarPU wf 202.0 in 200 events)

@mtosi
Copy link
Contributor Author

mtosi commented Feb 20, 2014

@davidlange6
Copy link
Contributor

+1
(for operations)

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_1_X IBs unless changes (tests are also fine). @nclopezo, @ktf can you please take care of it?

ktf added a commit that referenced this pull request Feb 21, 2014
…-parabolic-mf-build-fit

Reco updates -- HLT Tracking parabolic magnetic field in building and fitting
@ktf ktf merged commit ab1d806 into cms-sw:CMSSW_7_1_X Feb 21, 2014
@nclopezo nclopezo modified the milestones: CMSSW_7_1_0_pre4, CMSSW_7_1_0_pre3 Feb 24, 2014
@nclopezo nclopezo modified the milestones: CMSSW_7_1_0_pre5, CMSSW_7_1_0_pre4 Mar 10, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants