CandidateMatchHelpers: Try to transform the cluster calo position vector wrt to (0,0,0) to a position vector wrt to track perigee position
Mentioning @amorley as this tries to tackle of the issues he brough up.
The issue is that for large track r/d0 or z0 one needs to approximate "transform" the position of the cluster from something wrt to (0,0,0) to something wrt track perigee position (x0,y0,z0) before performing the quick and dirty candidate match.
Merge request reports
Activity
added Egamma Reconstruction master review-pending-level-1 labels
CI Result SUCCESSAthena AthSimulation externals cmake make required tests optional tests Full details available at NICOS MR-26703-2019-09-20-04-56
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 3447]added review-approved label and removed review-pending-level-1 label
- Resolved by Christos Anastopoulos
removed review-approved label
Hi so updating the indent, I can work on it next week prb 1st thing when the cluster here is back up ...
The idea is that perhaps is better/easier for maintenance to do this candidate broad matching in a bit more explicit way. It will be not more efficient but prb easier to understand.
More or less one can make it explicit in translating the cluster calo position from origin at (0,0,0) to (x,y,z) track perigee. And do it for all x,y,z etc.
So perhaps this will be cleaner . In semi-pseudocode
///Get x,y,z of the perigee Amg::Vector3D XYZOfPerigeeTrack(candidatePerigee.position().x(),candidatePerigee.position().y(), candidatePerigee.position().z()); ///Get an approximation of the RClus,Zclus this we can do in the helper which now will reurn a ///Amg::vector3D ................. helper code CandidateMatchHelper::GetApproxXYZAtlas(.... //===========================================================// //These are at the face of the calorimeter const double Rcalo = 1500; const double Zcalo = 3700; double Rclus=Rcalo; double Zclus=Zcalo; if(clusterEta!=0){ //eta !=0 double tanthetaclus=(1/cosh(clusterEta))/tanh(clusterEta); if (isEndCap) { Rclus=fabs(Zcalo*(tanthetaclus)); //Negative Eta ---> negative Z if(clusterEta<0){ Zclus = -Zclus; } } else{ if(tanthetaclus!=0){ Zclus=Rcalo/(tanthetaclus); } } } else{ //eta 0 Zclus=0; } return Amg::Vector3D(Rclus*cos(cluster->phi), Rclus*sin(cluster->phi(),Zclus) ..................... ///Then the above is named like Amg::Vector3D XYZClusterWrtATLASFrame= CandidateMatchHelper::GetApproxXYZAtlasF(....); Amg::Vector3D XYZClusterWrtTrackPerigee= XYZClusterWrtATLASFrame-XYZOfPerigeeTrack; /// /* Now in principle we can compare the XYZClusterWrtTrackPerigee->eta(), XYZClusterWrtTrackPerigee->phi() which should be the cluster eta,phi as viewed from the track perigee with the track eta,phi at that perigee. We can add the approximate rotation due to the magnetic field as we do */
Edited by Christos Anastopoulosadded 1451 commits
-
5ce15913...9c82ba2c - 1450 commits from branch
atlas:master
- 7a749422 - Merge remote-tracking branch 'upstream/master' into CandidateMatchHelpers_add_r_for_correct_eta
-
5ce15913...9c82ba2c - 1450 commits from branch
added 1 commit
- 4eaf3644 - Try to transorm cluster calo position vector wrt to (0,0,0) to a position...
added review-pending-level-1 label
CI Result SUCCESS (hash 4eaf3644)Athena AthSimulation externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 4805] CI Result SUCCESS (hash 7a749422)Athena AthSimulation externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 4803]added review-pending-level-2 label and removed review-pending-level-1 label
added review-approved label and removed review-pending-level-2 label
mentioned in commit ff045d2f
added sweep:ignore label
mentioned in merge request !28159 (merged)