Difference: DavidLackSandbox (1 vs. 4)

Revision 42014-08-12 - DavidLack

 
META TOPICPARENT name="Main.DavidLack"

xAOD DecayVertex Code

Changed:
<
<
The DecayVertex code is the rewritten version of V0Tools so that it is compatible with the xAOD. The DecayVertex code is a more object orientated approach to the V0Tools. This was done as almost all of the V0Tools functions had a vertex as an input, whereas now the DecayVertex class inherits from the xAOD vertex class and is constructed using a copy constructor so the DecayVertex functions do not need a vertex as an input except for those calculating distance between vertices.
>
>
The DecayVertex code is the rewritten version of V0Tools so that it is compatible with the xAOD. The DecayVertex code is a more object orientated approach to the V0Tools. This was done as almost all of the V0Tools functions had a vertex as an input, whereas now the DecayVertex class inherits from the xAOD vertex class and is constructed using a copy constructor so the DecayVertex functions do not need a vertex as an input except for those calculating distance between vertices
Added:
>
>

Functions that work

 
Added:
>
>
Currently all functions that do not rely on TrackParticle parameters work and have been tested.


The functions that do rely on TrackParticle parameters, such as the errors on parameters, will work if the JpsiCandidates have tracks added to the vertex and stored as PrimaryVertices are. If not functions such as the DecayVertex::getRefPx(size_t Index) would be required. This is needed for the phi, theta and qOverP functions.

How to use Dec

 

Locations of useful files

The current V0Tools is located in /Tracking/TrkVertexFitter/TrkVertexAnalysisUtils/trunk

The header files VxVertex.h, ExtendedVxCandidate.h and VxCandidate.h are located in /Tracking/TrkEvent/VxVertex/trunk/VxVertex

The xAOD files are located in /Event/xAOD

Most of the files that will be used will be located in /Event/xAOD/xAODTracking

Some other xAOD files that are used are /Event/xAOD/xAODBase/trunk/xAODBase/IParticle which links to the TLorentzVector class to allow for the same operations on 4-vectors as used in ROOT

Deleted:
<
<

Functions that work

Currently all functions that do not rely on TrackParticle parameters work and have been tested.
The functions that do rely on TrackParticle parameters, such as the errors on parameters, will work if the JpsiCandidates have tracks added to the vertex and stored as PrimaryVertices are. If not functions such as the DecayVertex::GetPx(size_t Index) would be required:

GetParameter(size_t trkIndex){
  float Parameter = 0;
  if(trackParticle(trkIndex)!= 0){
     Parameter = trackParticle(trkIndex)->Parameter();
  }else{
     SG::AuxElement::Accessor<std::vector<float>> refTrackParameterAcc("RefTrackParameter");
     Parameter = refTrackParameterAcc(*this)[trkIndex];
  }
  return Parameter;
}
 


Current problems

Notes

-- David Lack - 2014-07-29

Comments

<--/commentPlugin-->

Revision 32014-08-12 - DavidLack

 
META TOPICPARENT name="Main.DavidLack"
Changed:
<
<

xAOD DecayVertexTools

>
>

xAOD DecayVertex Code

 
Changed:
<
<
This page is for rough notes and bits of documentation while changing the old V0Tools to work with the xAOD.

Currently working on making the invariant mass functions work with the xAOD TrackPartcle _v1 functions. I have made changes on these but not yet tested them.
>
>
The DecayVertex code is the rewritten version of V0Tools so that it is compatible with the xAOD. The DecayVertex code is a more object orientated approach to the V0Tools. This was done as almost all of the V0Tools functions had a vertex as an input, whereas now the DecayVertex class inherits from the xAOD vertex class and is constructed using a copy constructor so the DecayVertex functions do not need a vertex as an input except for those calculating distance between vertices.
 

Locations of useful files

The current V0Tools is located in /Tracking/TrkVertexFitter/TrkVertexAnalysisUtils/trunk

The header files VxVertex.h, ExtendedVxCandidate.h and VxCandidate.h are located in /Tracking/TrkEvent/VxVertex/trunk/VxVertex

The xAOD files are located in /Event/xAOD

Most of the files that will be used will be located in /Event/xAOD/xAODTracking

Some other xAOD files that are used are /Event/xAOD/xAODBase/trunk/xAODBase/IParticle which links to the TLorentzVector class to allow for the same operations on 4-vectors as used in ROOT

Changed:
<
<

TrackParticle information

>
>

Functions that work

 
Changed:
<
<

The TrackParticle _v1 functions:
  • Four momentum -
     TrackParticle::FourMom_t &p4() 
  • Energy -
     TrackParticle _v1::e() 
  • Mass -
     TrackParticle _v1::m() 
  • Transverse momentum -
     TrackParticle _v1::pt() 
  • Eta -
     TrackParticle::eta() 
  • Rapidity -
     TrackParticle _v1::rapidity() 
The TrackParticle::FourMom_t has the same functions as TLorentzVector, e.g. a four vector p4 can be set by using
 p4.SetPxPyPzE(px, py, pz, e) 

Number of tracks at vertex

>
>
Currently all functions that do not rely on TrackParticle parameters work and have been tested.
The functions that do rely on TrackParticle parameters, such as the errors on parameters, will work if the JpsiCandidates have tracks added to the vertex and stored as PrimaryVertices are. If not functions such as the DecayVertex::GetPx(size_t Index) would be required:
GetParameter(size_t trkIndex){
  float Parameter = 0;
  if(trackParticle(trkIndex)!= 0){
     Parameter = trackParticle(trkIndex)->Parameter();
  }else{
     SG::AuxElement::Accessor<std::vector<float>> refTrackParameterAcc("RefTrackParameter");
     Parameter = refTrackParameterAcc(*this)[trkIndex];
  }
  return Parameter;
}
Deleted:
<
<
The number of tracks at the vertex was previously obtained by:
 unsigned int NTrk = vxCandidate-&gt;vxTrackAtVertex()-&gt;size(); 

now I think its done by:

 size_t NTrk = Vertex->nTrackParticles();
 


Current problems

Deleted:
<
<
Some of the header files required may be missing, for example those required by the xAOD.
Some header files in the old code are purely for Athena but some may still be required.
 

Notes

Deleted:
<
<
Currently uses the format of the old code, the invariantMass function calls a track4Momentum function which calls a trackMomentum fucntion.

This trackMomentum function uses
 Amg::Vector3D 

not sure what the header for this is at the moment

  -- David Lack - 2014-07-29

Comments

<--/commentPlugin-->

Revision 22014-07-30 - DavidLack

 
META TOPICPARENT name="Main.DavidLack"
Changed:
<
<

xAOD DecayVertexTools

>
>

xAOD DecayVertexTools

 
Changed:
<
<
This page is for rough notes and bits of documentation while changing the old V0Tools to work with the xAOD.

Currently working on making the invariant mass functions work with the xAOD TrackPartcle _v1 functions.

The TrackParticle _v1 functions:
>
>
This page is for rough notes and bits of documentation while changing the old V0Tools to work with the xAOD.

Currently working on making the invariant mass functions work with the xAOD TrackPartcle _v1 functions. I have made changes on these but not yet tested them.
Deleted:
<
<
The TrackParticle::FourMom_t has the same functions as TLorentzVector, e.g. a four vector p4 can be set by using p4.SetPxPyPzE(px, py, pz, e)
 
Added:
>
>

Locations of useful files

The current V0Tools is located in /Tracking/TrkVertexFitter/TrkVertexAnalysisUtils/trunk

The header files VxVertex.h, ExtendedVxCandidate.h and VxCandidate.h are located in /Tracking/TrkEvent/VxVertex/trunk/VxVertex

The xAOD files are located in /Event/xAOD

Most of the files that will be used will be located in /Event/xAOD/xAODTracking

Some other xAOD files that are used are /Event/xAOD/xAODBase/trunk/xAODBase/IParticle which links to the TLorentzVector class to allow for the same operations on 4-vectors as used in ROOT

TrackParticle information


The TrackParticle _v1 functions:

  • Four momentum -
     TrackParticle::FourMom_t &p4() 
  • Energy -
     TrackParticle _v1::e() 
  • Mass -
     TrackParticle _v1::m() 
  • Transverse momentum -
     TrackParticle _v1::pt() 
  • Eta -
     TrackParticle::eta() 
  • Rapidity -
     TrackParticle _v1::rapidity() 
The TrackParticle::FourMom_t has the same functions as TLorentzVector, e.g. a four vector p4 can be set by using
 p4.SetPxPyPzE(px, py, pz, e) 

Number of tracks at vertex

The number of tracks at the vertex was previously obtained by:

 unsigned int NTrk = vxCandidate-&gt;vxTrackAtVertex()-&gt;size(); 

now I think its done by:

 size_t NTrk = Vertex->nTrackParticles();


Current problems

Some of the header files required may be missing, for example those required by the xAOD.
Some header files in the old code are purely for Athena but some may still be required.

 

Notes

Changed:
<
<
Currently uses the format of the old code, the invariantMass function calls a track4Momentum function which calls a trackMomentum fucntion.

This trackMomentum function uses Amg::Vector3D not sure what the header for this is at the moment
>
>
Currently uses the format of the old code, the invariantMass function calls a track4Momentum function which calls a trackMomentum fucntion.

This trackMomentum function uses
Added:
>
>
 Amg::Vector3D 

not sure what the header for this is at the moment

  -- David Lack - 2014-07-29

Comments

<--/commentPlugin-->

Revision 12014-07-30 - DavidLack

 
META TOPICPARENT name="Main.DavidLack"

xAOD DecayVertexTools

This page is for rough notes and bits of documentation while changing the old V0Tools to work with the xAOD.

Currently working on making the invariant mass functions work with the xAOD TrackPartcle _v1 functions.

The TrackParticle _v1 functions:

The TrackParticle::FourMom_t has the same functions as TLorentzVector, e.g. a four vector p4 can be set by using p4.SetPxPyPzE(px, py, pz, e)

Notes

Currently uses the format of the old code, the invariantMass function calls a track4Momentum function which calls a trackMomentum fucntion.

This trackMomentum function uses Amg::Vector3D not sure what the header for this is at the moment

-- David Lack - 2014-07-29

Comments

<--/commentPlugin-->
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback