Skip to content

Instantly share code, notes, and snippets.

@f-ilic
Last active May 3, 2017 14:17
Show Gist options
  • Save f-ilic/1efbbd4426d9bdfa9ceb27e09ae7e958 to your computer and use it in GitHub Desktop.
Save f-ilic/1efbbd4426d9bdfa9ceb27e09ae7e958 to your computer and use it in GitHub Desktop.
TProfile2Poly Tutorials

TProfile2Poly Tutorial 1

We will present how to use the TProfile2Poly class to create polygonal bins that simulate particle detector panels which are being hit by charged particles. The goal is to measure differences in charge if one or more such panels are malfunctioning.

Description

The geometry of the CMS Pixel end cap is stored as x,y coordinate triplet rows where where one triplet defines a detector panel.

The script generates numEvents (script argument) were their x,y coordinates are Gaussian distributed with 0 mean, but different sigmas. Each event also has a value (in our interpretation charge) associated with it.

We chose to simulate 4 faulty detector panels. Two of the faulty panels add Gaussian noise x=1,sig=2 the other two add x=2, sig=0(essentially just adding 2 to the charge value). These errors are then added to the 'normal' charge that would otherwise be detected. The plot shows the total number of events detected at each panel, and the average charge per particle for each of the detector panels, and additionally the standard deviation of the measured charged particles for each panel.

Detector with 4 faulty panels

TProfile2Poly Tutorial 2

Description

Here we're creating 'wandering' charge anomalies. Averages are saved per each simulated Lumisection. In the end these Lumisections are merged.

Lumisections 1

Summary Merge 2

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