Skip to content

Adding truth info for FCC-ee ILD model, add vertex resolutions as inp… - #188

Open
armin-ilg wants to merge 2 commits into
iLCSoft:masterfrom
armin-ilg:master
Open

Adding truth info for FCC-ee ILD model, add vertex resolutions as inp…#188
armin-ilg wants to merge 2 commits into
iLCSoft:masterfrom
armin-ilg:master

Conversation

@armin-ilg

Copy link
Copy Markdown

…ut arguments, update vertex detector naming scheme to be compliant also with FCC-SEED VXD (backwards compatible with CLD VXD), updating CT_MAX_DIST value to use the same as CLD with smaller beam pipe

BEGINRELEASENOTES

…ut arguments, update vertex detector naming scheme to be compliant also with FCC-SEED VXD (backwards compatible with CLD VXD), updating CT_MAX_DIST value to use the same as CLD with smaller beam pipe
@armin-ilg

Copy link
Copy Markdown
Author

@Victor-Schwan : As discussed, here's the PR with the changes to ILDConfig

action="store_true",
)

parser.add_argument(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The help messages of the DigitiserResolution options may also state that it is only applied to FCC models

Comment thread StandardConfig/production/ILDReconstruction.py Outdated
Comment on lines +368 to +371
"VXDCollection",
"SITCollection",
"FTD_PIXELCollection",
"FTD_STRIPCollection",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These collections should not exists for reconstructed ILD@FCC-ee events. They are only present in ILD@ILC models. The corresponding collections are:

VertexBarrelCollection
VertexEndcapCollection
InnerTrackerBarrelCollection   
InnerTrackerEndcapCollection

Comment on lines +378 to +381
"VXDTrackerHitRelations",
"SITTrackerHitRelations",
"FTDPixelTrackerHitRelations",
"FTDSpacePointRelations",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@Victor-Schwan

Copy link
Copy Markdown
Contributor

I have just realized that I have already a MCRecoTruthLinker with the correct collection names in my fork (see https://github.com/Victor-Schwan/ILDConfig/tree/fcc-tracking). Further, I assume we wanna place the MCRecoTruthLinker in a HighLevelReco_FCCee similar to the ILC reconstruction (see

MyRecoMCTruthLinker = MarlinProcessorWrapper("MyRecoMCTruthLinker")
MyRecoMCTruthLinker.ProcessorType = "RecoMCTruthLinker"
MyRecoMCTruthLinker.Parameters = {
"CalohitMCTruthLinkName": ["CalohitMCTruthLink"],
"ClusterCollection": ["PandoraClusters"],
"ClusterMCTruthLinkName": ["ClusterMCTruthLink"],
"FullRecoRelation": ["true"],
"KeepDaughtersPDG": ["22", "111", "310", "13", "211", "321"],
"MCParticleCollection": ["MCParticle"],
"MCParticlesSkimmedName": ["MCParticlesSkimmed"],
"MCTruthClusterLinkName": ["MCTruthClusterLink"],
"MCTruthRecoLinkName": ["MCTruthRecoLink"],
"MCTruthTrackLinkName": ["MCTruthMarlinTrkTracksLink"],
"RecoMCTruthLinkName": ["RecoMCTruthLink"],
"RecoParticleCollection": ["PandoraPFOs"],
"SimCaloHitCollections": [
"BeamCalCollection",
"LHCalCollection",
"LumiCalCollection",
CONSTANTS["ECalSimHitCollections"],
CONSTANTS["HCalSimHitCollections"],
"YokeBarrelCollection",
"YokeEndcapsCollection",
],
"SimCalorimeterHitRelationNames": [
"EcalBarrelRelationsSimRec",
"EcalEndcapRingRelationsSimRec",
"EcalEndcapsRelationsSimRec",
"HcalBarrelRelationsSimRec",
"HcalEndcapRingRelationsSimRec",
"HcalEndcapsRelationsSimRec",
"RelationLHcalHit",
"RelationMuonHit",
"RelationLcalHit",
"RelationBCalHit",
],
"SimTrackerHitCollections": [
"VXDCollection",
"SITCollection",
"FTD_PIXELCollection",
"FTD_STRIPCollection",
"TPCCollection",
"SETCollection",
],
"TrackCollection": ["MarlinTrkTracks"],
"TrackMCTruthLinkName": ["MarlinTrkTracksMCTruthLink"],
"TrackerHitsRelInputCollections": [
"VXDTrackerHitRelations",
"SITTrackerHitRelations",
"FTDPixelTrackerHitRelations",
"FTDSpacePointRelations",
"TPCTrackerHitRelations",
"SETSpacePointRelations",
],
"UseTrackerHitRelations": ["true"],
"UsingParticleGun": [str(using_particle_gun).lower()],
}
) and not in the ILDReconstruction.py. This is also already present in my fork. I guess it may make more sense to take the MCRecoTruthLinker from my fork?

Co-authored-by: Victor Schwan <162138084+Victor-Schwan@users.noreply.github.com>
@armin-ilg

Copy link
Copy Markdown
Author

I have just realized that I have already a MCRecoTruthLinker with the correct collection names in my fork (see https://github.com/Victor-Schwan/ILDConfig/tree/fcc-tracking). Further, I assume we wanna place the MCRecoTruthLinker in a HighLevelReco_FCCee similar to the ILC reconstruction (see

MyRecoMCTruthLinker = MarlinProcessorWrapper("MyRecoMCTruthLinker")
MyRecoMCTruthLinker.ProcessorType = "RecoMCTruthLinker"
MyRecoMCTruthLinker.Parameters = {
"CalohitMCTruthLinkName": ["CalohitMCTruthLink"],
"ClusterCollection": ["PandoraClusters"],
"ClusterMCTruthLinkName": ["ClusterMCTruthLink"],
"FullRecoRelation": ["true"],
"KeepDaughtersPDG": ["22", "111", "310", "13", "211", "321"],
"MCParticleCollection": ["MCParticle"],
"MCParticlesSkimmedName": ["MCParticlesSkimmed"],
"MCTruthClusterLinkName": ["MCTruthClusterLink"],
"MCTruthRecoLinkName": ["MCTruthRecoLink"],
"MCTruthTrackLinkName": ["MCTruthMarlinTrkTracksLink"],
"RecoMCTruthLinkName": ["RecoMCTruthLink"],
"RecoParticleCollection": ["PandoraPFOs"],
"SimCaloHitCollections": [
"BeamCalCollection",
"LHCalCollection",
"LumiCalCollection",
CONSTANTS["ECalSimHitCollections"],
CONSTANTS["HCalSimHitCollections"],
"YokeBarrelCollection",
"YokeEndcapsCollection",
],
"SimCalorimeterHitRelationNames": [
"EcalBarrelRelationsSimRec",
"EcalEndcapRingRelationsSimRec",
"EcalEndcapsRelationsSimRec",
"HcalBarrelRelationsSimRec",
"HcalEndcapRingRelationsSimRec",
"HcalEndcapsRelationsSimRec",
"RelationLHcalHit",
"RelationMuonHit",
"RelationLcalHit",
"RelationBCalHit",
],
"SimTrackerHitCollections": [
"VXDCollection",
"SITCollection",
"FTD_PIXELCollection",
"FTD_STRIPCollection",
"TPCCollection",
"SETCollection",
],
"TrackCollection": ["MarlinTrkTracks"],
"TrackMCTruthLinkName": ["MarlinTrkTracksMCTruthLink"],
"TrackerHitsRelInputCollections": [
"VXDTrackerHitRelations",
"SITTrackerHitRelations",
"FTDPixelTrackerHitRelations",
"FTDSpacePointRelations",
"TPCTrackerHitRelations",
"SETSpacePointRelations",
],
"UseTrackerHitRelations": ["true"],
"UsingParticleGun": [str(using_particle_gun).lower()],
}

) and not in the ILDReconstruction.py. This is also already present in my fork. I guess it may make more sense to take the MCRecoTruthLinker from my fork?

Okay, yes that makes totally sense. Shall I remove the truth link stuff from this PR?

@Victor-Schwan

Copy link
Copy Markdown
Contributor

Okay, yes that makes totally sense. Shall I remove the truth link stuff from this PR?

In my opinion, that makes the most sense. If you need it, just cherrypick it from my PR. This way, git is aware of it and there shouldn't be any conflicts later on

@tmadlener

Copy link
Copy Markdown
Contributor

So for clarification: This PR will introduce the vertex resolution setting bits and #193 will do the truth linking?

Comment on lines +13 to +14
"ResolutionU": [str(x) for x in VXDBarrelDigitiserResolutionU],
"ResolutionV": [str(x) for x in VXDBarrelDigitiserResolutionV],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This will not be the same inputs as before, as the globals only have one number, so the result of this will be

"ResolutionU": ["0.003"],

Will this result in a simple "broadcast" to all layers or do we have to make sure that we still have the right number of elements in the resulting list?

from py_utils import encode_CT_steps_dict_to_legacy_list

CT_MAX_DIST = "0.03" # RANDOM VALUE COPYIED FROM CLDRECO
CT_MAX_DIST = "0.05" # RANDOM VALUE COPYIED FROM CLDRECO

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is the comment still valid then? I.e. is this just another random value copied from CLDRECO? If not we should update the comment that it's now a better informed choice.

Comment on lines +95 to +108
"LowerCellAngle2": {
"collections": [""],
"params": {
"MaxCellAngle": 0.1,
"MaxCellAngleRZ": 0.1,
"Chi2Cut": 2000,
"MinClustersOnTrack": 4,
"MaxDistance": CT_MAX_DIST,
"SlopeZRange": 10.0,
"HighPTCut": 10.0,
},
"flags": ["HighPTFit", "VertexToTracker", "RadialSearch"],
"functions": ["BuildNewTracks","SortTracks"],
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This additional conformal tracking pass seems to not be mentioned in the discussion of the PR. I assume it's deliberately enabled. Can we put a short sentence about this into the release notes?

@Victor-Schwan

Copy link
Copy Markdown
Contributor

So for clarification: This PR will introduce the vertex resolution setting bits and #193 will do the truth linking?

There are many things in #193 that are necessary for FCC tracking. I've created a draft PR so that others can see it and, for example, to avoid implementing TruthLinking twice. However, it might make sense to merge TruthLinking beforehand in a separate PR. Let me know if you wish to do so

@tmadlener

Copy link
Copy Markdown
Contributor

However, it might make sense to merge TruthLinking beforehand in a separate PR. Let me know if you wish to do so

That sounds like a good idea

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants