This repository has been archived by the owner on Jan 31, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
Refactoring of anaUltraScurve.py and additional output distributions #75
Merged
bdorney
merged 42 commits into
cms-gem-daq-project:develop
from
bdorney:feature_refactoringSCurve
Mar 28, 2018
Merged
Refactoring of anaUltraScurve.py and additional output distributions #75
bdorney
merged 42 commits into
cms-gem-daq-project:develop
from
bdorney:feature_refactoringSCurve
Mar 28, 2018
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ity list for ease of use
…supplied instead of an event from a TTree
…tN-channel pairing
… with markdown syntax
…ore from the scanFuncs parameter and be less ambiguous
…ctly initialized to numpy arrays
…f SaveSummary out of main in anaUltraScurve.py
…ties.py for future use by other scripts
…eters for the scurve mean
…bars will not be erroneously calculated
…f NoHotChan correctly reads NoMaskedChan
Will also correctly assign error bars for scurve plots using the:
methods; therefore partially resolving #61 for the case of |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Refactoring of
anaUltraScurve.py
with updates/additions to supporting tools.All distributions created will now be in fC. The output
TFile
will have relevant s-curve parameters stored in fC. The default behavior is to use thevfat2
VCAL
tofC
conversion that has been hard coded for some time. The user can supply an external text file which specifies the conversion between theCAL DAC
(eithervfat2
orvfat3
) tofC
using the--calFile
argument. The expected format of this file is shown as:If one prefers to stick in terms of
DAC
units simply supply a slope of1.0
with an intercept of0.0
as in the above example (e.g. a chip where the calibration is not known or was not possible).The fitting class ScanDataFitter is now also capable of working with quantities in terms of fC but the default behavior of this class will be in DAC units to preserve compatibility with
trimChamber.py
. Supplying additional arguments at construction (as is done now inanaUltraScurve.py
) will enable the fitter to parse input information, and return output results, in terms of fC.Additionally a series of new distributions have been added:
ScurveMeanSummary.png
, shows the distribution of s-curve mean positions (after fitting) for all VFATs in the standard grid layout,ScurveWidthSummary.png
, shows the distribution of s-curve width positions (after fitting) for all VFATs in the standard grid layout.scurves_vfatX
, aTCanvas
forVFATX
showing all 1D scurves on the sameTPad
for a givenvfat
(as shown by the VFAT3 production team in a recent DAQ meeting)scurvesNoMaskedChan_vfatX
, as item 3 but omitting curves from masked channels.canvScurveFits_vfatX
, as item 4 but instead here the fittedTF1
objects are plotted.Additionally the
TObject
s used in items 1 & 2 are also stored in the outputTFile
in a TDirectoryVFATX
whereX
is the VFAT position. Items 3-5 are available in the outputTFile
but are not stored as images in the output directory.Types of changes
Motivation and Context
Originally wanted to add a few distributions to the analysis routine but the code was pretty hacked together and it was unclear where certain things defined or what units they were in (e.g. DAC units or fC).
Address comments about unnecessary sub-process calls that were brought up here
How Has This Been Tested?
Extensive analysis and testing.
Screenshots (if appropriate):
Example
TFile
output structure now (note theTTree
structure has not changed):Summary.png:
PrunedSummary.png:
fitSumnmary.png:
ScurveMeanSummary.png:
ScurveWidthSummary.png:
TCanvas
scurves_vfat0:TCanvas
scurvesNoMaskedChan_vfat0TCanvas
canvScurveFits_vfat0Checklist: