|
|
Go to the documentation of this file. 3 TrackSplittingTemplate=
""" 5 #adding this ~doubles the efficiency of selection 6 process.FittingSmootherRKP5.EstimateCut = -1 8 .oO[subdetselection]Oo. 10 # Use compressions settings of TFile 11 # see https://root.cern.ch/root/html534/TFile.html#TFile:SetCompressionSettings 12 # settings = 100 * algorithm + level 13 # level is from 1 (small) to 9 (large compression) 14 # algo: 1 (ZLIB), 2 (LMZA) 15 # see more about compression & performance: https://root.cern.ch/root/html534/guides/users-guide/InputOutput.html#compression-and-performance 16 compressionSettings = 207 17 process.cosmicValidation = cms.EDAnalyzer("CosmicSplitterValidation", 18 compressionSettings = cms.untracked.int32(compressionSettings), 19 ifSplitMuons = cms.bool(False), 20 ifTrackMCTruth = cms.bool(False), 21 checkIfGolden = cms.bool(False), 22 splitTracks = cms.InputTag("FinalTrackRefitter","","splitter"), 23 splitGlobalMuons = cms.InputTag("muons","","splitter"), 24 originalTracks = cms.InputTag("FirstTrackRefitter","","splitter"), 25 originalGlobalMuons = cms.InputTag("muons","","Rec") 31 TrackSplittingSequence =
"process.cosmicValidation" 36 trackSplitPlotExecution=
""" 37 #make track splitting plots 39 cp .oO[trackSplitPlotScriptPath]Oo. . 40 root -x -b -q TkAlTrackSplitPlot.C++ 47 trackSplitPlotTemplate=
""" 48 #include "Alignment/OfflineValidation/macros/trackSplitPlot.C" 50 /**************************************** 51 This can be run directly in root, or you 52 can run ./TkAlMerge.sh in this directory 53 It can be run as is, or adjusted to fit 54 for misalignments or to only make 56 ****************************************/ 58 /******************************** 59 To make ALL plots (247 in total): 61 ********************************/ 63 /************************************************************************** 64 to make all plots involving a single x or y variable, or both: 65 Uncomment the line marked (B), and fill in for xvar and yvar 69 xvar = "dxy", yvar = "ptrel" - makes plots of dxy vs Delta_pT/pT 70 (4 total - profile and resolution, 71 of Delta_pT/pT and its pull 73 xvar = "all", yvar = "pt" - makes all plots involving Delta_pT 76 histogram and pull distribution, and 77 their mean and width as a function 79 xvar = "", yvar = "all" - makes all histograms of all y variables 80 (including Delta_pT/pT) 81 (16 plots total - 8 y variables, 82 regular and pull histograms) 83 **************************************************************************/ 85 /************************************************************************************** 86 To make a custom selection of plots: 87 Uncomment the lines marked (C) and this section, and fill in matrix however you want */ 90 Bool_t plotmatrix[xsize][ysize]; 93 for (int x = 0; x < xsize; x++) 94 for (int y = 0; y < ysize; y++) 95 plotmatrix[x][y] = (.............................); 100 The variables are defined in Alignment/OfflineValidation/macros/trackSplitPlot.h 102 TString xvariables[xsize] = {"", "pt", "eta", "phi", "dz", "dxy", "theta", 105 TString yvariables[ysize] = {"pt", "pt", "eta", "phi", "dz", "dxy", "theta", 107 Bool_t relativearray[ysize] = {true, false, false, false, false, false, false, 109 Use matrix[x][y] = true to make that plot, and false not to make it. 110 **************************************************************************************/ 112 /************************************************************************************* 113 To fit for a misalignment, which can be combined with any other option: 114 Uncomment the line marked (A) and this section, and choose your misalignment */ 117 TString misalignment = "choose one"; 121 // double values[number of files] = {...}; 122 // double phases[number of files] = {...}; 126 The options for misalignment are sagitta, elliptical, skew, telescope, or layerRot. 127 If the magnitude and phase of the misalignment are known (i.e. Monte Carlo data using 128 a geometry produced by the systematic misalignment tool), make values and phases into 129 arrays, with one entry for each file, to make a plot of the result of the fit vs. the 131 phases must be filled in for sagitta, elliptical, and skew if values is; 132 for the others it has no effect 133 *************************************************************************************/ 135 void TkAlTrackSplitPlot() 137 TkAlStyle::legendheader = ".oO[legendheader]Oo."; 138 TkAlStyle::legendoptions = ".oO[legendoptions]Oo."; 139 TkAlStyle::set(.oO[publicationstatus]Oo., .oO[era]Oo., ".oO[customtitle]Oo.", ".oO[customrighttitle]Oo."); 140 outliercut = .oO[outliercut]Oo.; 141 //fillmatrix(); //(C) 142 subdetector = ".oO[subdetector]Oo."; 144 .oO[PlottingInstantiation]Oo. 146 //misalignment,values,phases, //(A) 147 ".oO[datadir]Oo./.oO[PlotsDirName]Oo." 148 //,"xvar","yvar" //(B)