-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Unpacker for phase-2 outer tracker #4616
Conversation
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.
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 The following packages do not have a category, yet: DataFormats/Phase2TrackerDigi @apfeiffer1, @diguida, @cmsbuild, @nclopezo, @rcastello, @ggovi, @Degano, @ktf can you please review it and eventually sign? Thanks. |
see comments in #4617 |
- got rid of boost includes - removed edmNew::DetSetVector from classes
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? |
Pull request #4616 was updated. @apfeiffer1, @diguida, @cmsbuild, @nclopezo, @rcastello, @ggovi, @Degano, @ktf can you please check and sign again. |
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. |
confirmed. no changes required on CondFormats for 62X |
merge |
Unpacker for phase-2 outer tracker
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).