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

Unpacker for phase-2 outer tracker #4616

Merged
merged 24 commits into from
Jul 15, 2014

Conversation

delaere
Copy link
Contributor

@delaere delaere commented Jul 11, 2014

This pull request introduces the code required to unpack data coming from the prototypes of phase-2 tracker 2S modules, and is designed to evolve towards the code used for future data-taking with CMS. It was tested with actual data collected in December in DESY, and presented at the tracker simulation upgrade meeting on June 17: https://indico.cern.ch/event/305424/session/3/contribution/4/material/slides/0.pdf

While it touches several packages, there is basically no modification of existing code. These are new classes designed to live without interfering with the existing code. Additions are for the unpacker itself (in EventFilter), for the digi data format (in DataFormat) and for the cabling (CondFormat and related).

delaere and others added 21 commits January 21, 2014 17:45
The Phase2TrackerDigi is designed to store raw digis for both PS and 2S modules.
Since data is digital, only the position of the hit is stored.
Position has 2 coordinates: row and column, or alternatively strip and edge.
The current implementation works for up to 32x1016 cells.
That dataformat is designed to represent 1D clusters, as found in strips.
Compared to the SiStripCluster, there is no need to track strip charges, which makes the barycenter calculation simpler.
Also, the reference point (beginning) is a 2D digi for phase2.
Phase2TrackerCluster2D are representing a 2D cluster made of digital digi.
Each cluster is defined by its anchor point (a digi) and a set of 2D offsets.
It has a size, and a position.
This simple dataformat is to hold the stubs as they come from the hardware.
Therefore, it has no reference to sim objects, nor direct links to digis or clusters.
Created a new Phase2TrackerCabling and Phase2TrackerModule objects to hold the relations between detid, gbtid, fedid, cooling and power.
The next step is to create a ESSource to fill the object (first from ParameterSets, later from db). It will then be used in the new
phase2 unpacker.
A single simple ESSource is implemented for now. It is similar to a "Fake" source and reads the intended cabling from the cmssw cfg.
CheckPhase2Cabling has been added to the tests of CalibTracker/SiStripESProducers.
It allowed to validate the concept. On that occasion, few adjustments were done and new methods to print the cabling introduced.
Since the cabling may be accessed via diverse threads, it is not possible to use the mutable
keyword in it. Changes were made to pre-sort three vectors of indices at construction time.
After that, the object doesn't have to be altered.
This removes cluster 1D, 2D and Stubs experiments, corresponding to the following commits:
commit 72625f0.
commit bdbaf65.
commit 4ad9972.
@cmsbuild
Copy link
Contributor

A new Pull Request was created by @delaere (Christophe Delaere) for CMSSW_6_2_X_SLHC.

Unpacker for phase-2 outer tracker

It involves the following packages:

CalibTracker/SiStripESProducers
CondFormats/DataRecord
CondFormats/SiStripObjects
DataFormats/Phase2TrackerDigi
EventFilter/Phase2TrackerRawToDigi

The following packages do not have a category, yet:

DataFormats/Phase2TrackerDigi
EventFilter/Phase2TrackerRawToDigi

@apfeiffer1, @diguida, @cmsbuild, @nclopezo, @rcastello, @ggovi, @Degano, @ktf can you please review it and eventually sign? Thanks.
@VinInn, @threus, @venturia 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.
@fratnikov, @mark-grimes you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@VinInn
Copy link
Contributor

VinInn commented Jul 11, 2014

see comments in #4617

@mark-grimes
Copy link

Not much testing I can do - tried 4 muons in the different geometries as a sanity check. Happy to merge this into SLHC; @delaere do you want me to wait until you've made the modifications requested by DB to #4617, or I can merge this now and you can add DB modifications to SLHC in another pull request later?

@cmsbuild
Copy link
Contributor

Pull request #4616 was updated. @apfeiffer1, @diguida, @cmsbuild, @nclopezo, @rcastello, @ggovi, @Degano, @ktf can you please check and sign again.

@delaere
Copy link
Contributor Author

delaere commented Jul 15, 2014

There should be no problem to merge it now. The pending changes mentioned in #4617 are new for 72X... nothing that has to go in 62X_SLHC. For what I am concerned, the cabling part works well as it is in 62X_SLHC (I tested it on testbeam data). Thanks.

@VinInn
Copy link
Contributor

VinInn commented Jul 15, 2014

confirmed. no changes required on CondFormats for 62X

@mark-grimes
Copy link

merge

cmsbuild added a commit that referenced this pull request Jul 15, 2014
@cmsbuild cmsbuild merged commit 2a360cc into cms-sw:CMSSW_6_2_X_SLHC Jul 15, 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.

None yet

4 participants