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

add vertex covariance for V0Producer 76x #12142

Merged
merged 1 commit into from
Oct 29, 2015
Merged

add vertex covariance for V0Producer 76x #12142

merged 1 commit into from
Oct 29, 2015

Conversation

fojensen
Copy link
Contributor

same as
75x
#12133
80x
#12134
bug fix in V0Producer

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @fojensen (Frank Jensen) for CMSSW_7_6_X.

add vertex covariance for V0Producer 76x

It involves the following packages:

RecoVertex/V0Producer

@cmsbuild, @cvuosalo, @slava77 can you please review it and eventually sign? Thanks.
@makortel, @GiacomoSguazzoni, @rovere, @VinInn, @cerati, @dgulhan 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.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@slava77
Copy link
Contributor

slava77 commented Oct 28, 2015

@cmsbuild please test

ipsigXY = std::abs(tmpTrack->dxy(*theBeamSpot)/tmpTrack->dxyError());
}
double ipsigXY = std::abs(tmpTrack->dxy(*theBeamSpot)/tmpTrack->dxyError());
if (useVertex_) ipsigXY = std::abs(tmpTrack->dxy(referencePos)/tmpTrack->dxyError());
Copy link
Contributor

Choose a reason for hiding this comment

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

why computing twice ipsingXY in case of useVertex_?
was not the previous code more efficient?

Copy link
Contributor

Choose a reason for hiding this comment

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

On 10/28/15 10:05 AM, Vincenzo Innocente wrote:

In RecoVertex/V0Producer/src/V0Fitter.cc
#12142 (comment):

@@ -116,12 +117,8 @@ void V0Fitter::fitAll(const edm::Event& iEvent, const edm::EventSetup& iSetup,
// fill vectors of TransientTracks and TrackRefs after applying preselection cuts
for (reco::TrackCollection::const_iterator iTk = theTrackCollection->begin(); iTk != theTrackCollection->end(); ++iTk) {
const reco::Track* tmpTrack = &(*iTk);

  •  double ipsigXY;
    
  •  if (useVertex_) {
    
  •     ipsigXY = std::abs(tmpTrack->dxy(referencePos)/tmpTrack->dxyError());
    
  •  } else {
    
  •     ipsigXY = std::abs(tmpTrack->dxy(*theBeamSpot)/tmpTrack->dxyError()); 
    
  •  }
    
  •  double ipsigXY = std::abs(tmpTrack->dxy(*theBeamSpot)/tmpTrack->dxyError());
    
  •  if (useVertex_) ipsigXY = std::abs(tmpTrack->dxy(referencePos)/tmpTrack->dxyError());
    

why computing twice ipsingXY in case of useVertex_?
was not the previous code more efficient?

if/else is probably going to be more CPU efficient
(unclear though how the compiler puts the conditional computations in
optimization)


Reply to this email directly or view it on GitHub
https://github.com/cms-sw/cmssw/pull/12142/files#r43267434.

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/9263/console

@@ -206,7 +203,8 @@ void V0Fitter::fitAll(const edm::Event& iEvent, const edm::EventSetup& iSetup,
GlobalPoint vtxPos(theVtx.x(), theVtx.y(), theVtx.z());

// 2D decay significance
const SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
if (useVertex_) totalCov = referenceVtx.covariance() + theVtx.covariance();
Copy link
Contributor

Choose a reason for hiding this comment

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

same as above why twice?

brw is this fix not changing physics?
and if not changing physics, why modify?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hey Vincenzo -

everything I changed only gets implemented if the user specifies
non-standard configuration.
This has to do with either:

  1. using a primary vertex instead of a beam spot
  2. using z information in calculating variables
    by default, the useVertex_ flag will not be set and so this stuff doesn't
    get used.

I can change the way the flags / if statements are implemented if you like

  • but maybe after the heavy ion run & in whatever the current CMSSW is by
    then?...

On Wed, Oct 28, 2015 at 9:06 AM, Vincenzo Innocente <
[email protected]> wrote:

In RecoVertex/V0Producer/src/V0Fitter.cc
#12142 (comment):

@@ -206,7 +203,8 @@ void V0Fitter::fitAll(const edm::Event& iEvent, const edm::EventSetup& iSetup,
GlobalPoint vtxPos(theVtx.x(), theVtx.y(), theVtx.z());

   // 2D decay significance
  •  const SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
    
  •  SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
    
  •  if (useVertex_) totalCov = referenceVtx.covariance() + theVtx.covariance();
    

same as above why twice?

brw is this fix not changing physics?


Reply to this email directly or view it on GitHub
https://github.com/cms-sw/cmssw/pull/12142/files#r43267634.

Copy link
Contributor

Choose a reason for hiding this comment

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

som why fixing 76?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i added the 3D/vertex features to 76X, 75x, 74X and for the upcoming heavy
ion run
#11660

but there was a bug, so this last round of PRs is fixing that bug in the
appropriate releases

On Wed, Oct 28, 2015 at 9:14 AM, Vincenzo Innocente <
[email protected]> wrote:

In RecoVertex/V0Producer/src/V0Fitter.cc
#12142 (comment):

@@ -206,7 +203,8 @@ void V0Fitter::fitAll(const edm::Event& iEvent, const edm::EventSetup& iSetup,
GlobalPoint vtxPos(theVtx.x(), theVtx.y(), theVtx.z());

   // 2D decay significance
  •  const SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
    
  •  SMatrixSym3D totalCov = theBeamSpot->rotatedCovariance3D() + theVtx.covariance();
    
  •  if (useVertex_) totalCov = referenceVtx.covariance() + theVtx.covariance();
    

som why fixing 76?


Reply to this email directly or view it on GitHub
https://github.com/cms-sw/cmssw/pull/12142/files#r43268712.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@slava77
Copy link
Contributor

slava77 commented Oct 28, 2015

+1

for #12142 69659d3

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @davidlange6, @Degano, @smuzaffar

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request Oct 29, 2015
add vertex covariance for V0Producer 76x
@cmsbuild cmsbuild merged commit d8345fe into cms-sw:CMSSW_7_6_X Oct 29, 2015
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.

5 participants