-- GobindaMajumder - 2009-08-26

HO calibration and validation

Due to lack of space, there is no radioactive source to intercalibrate HO towers. Only source is cosmic muon and/or muon isolated coming from pp collisions.

Standard calibration is done in two steps, first produce relevant variables using Calibration/HcalAlCaRecoProducers/src/AlCaHOCalibProducer.cc. It uses simple and very loose event selection criteria to store events as CMS dataformates DataFormats/HcalCalibObjects/interface/HOCalibVariables.h.

An analyser, where one can uses more tighter selection criteria to select those events and then extract all numbers/plots using either simple binned histogram fit of signals in each HO towers or unbinned maximum likelihood fit. Here signal implies the digitised/reconstructed data in a HO tower, when muon pass thorugh that tower. Signal in HO tower is very small, thus one requires the second option to fit the data and extract the peak of the signal.

This is done with analyser Calibration/HcalCalibAlgos/src/HOCalibAnalyzer.cc

Examples of python scripts are in text area. Users need to change data card according to the dataset and field configuration etc. In some cases we need to put same input twice in producer and analyser. This has one drawback, final fit is done with the combination of all events and in single job one can not run all data-set together. So, using producer first store HOCalibVariables and then read those in analyser, which looks like an standalone root code. In general I do that outside the CMS environment (modified analyser).

Here are some details of data cards,

In Analyser :

  • muons : Cosmic ray data ('cosmicMuons') or events from pp collision ( 'standAloneMuons')
  • digiInput : Want to analyse with digitised signal(True) or not (False)
  • hbinfo : not used, but an option to look HB data in barrel
  • hotime : For digi sample look for HO time profile (True)
  • firstTs : First time slice in HO signal for digi sample
  • lastTS : Last time slice in HO signal for digi sample
  • m_scale : not used any more, but this is simple scale factor of magnetic field. e.g., in MTCC it was 3.8, where magnetic field was for 4 Tesla
  • sigma : Not used in fit. Average width of pedestal to look for noisy channels
  • hoInput : moduleLabel for HO 'horeco'/'hcalDigis' for RECO/DIGI input
  • hbheInput : 'hbhereco'/'hcalDigis' for RECO/DIGI input
  • hltInput : moduleLabel of HLT trigger Not much use, but able to select event using trigger criteria, 'TriggerResults::FU'/'TriggerResults::HLT'
  • l1Input : moduleLabel for l1trigger, ('gtDigis'), same as HLT
  • towerInput = moduleLabel for calotower, 'towerMaker', required for pp collision data

In Analyser :

  • correl : Study HPD pixel cross-talk etc (True), otherwise False
  • histFit : Fit histogram with biined chisquare ('True') or Unbinned likelihood fit ('False')
  • cosmic : True/False for cosmic/pp collision data
  • digiInput : True/False for DIGI/RECO sample
  • checkmap : 'True' to check HO map (electronic channel to geometrical channel)
  • psFileName : file name to store fitting plots in an .ps file
  • txtFileName : textfile name to store numbers of fitting results
  • RootFileName : name of rootfile to store histogrammes
  • combined : 'True', looks signals in combined way also, e.g. average over ring, sector, HPD, otherwise 'False'
  • get_constant : "True", to get the fit results, "false" will give only histogrammes without fit
  • pedSuppr : True/False, data is pedestal subtracted/Not
  • sigma : Not used in fit. Average width of pedestal to look for noisy channels
  • get_figure : True/False tore figures in .ps file or not
  • r0layer1 : 'True', Look for signals, when muon pass through only layer1 in Ring-0
  • magfield : Magnetic field value, used in event selection

Prompt Analyser/Validation code

This code is nothing but the combination of AlCaHOCalibProducer and HOCalibAnalyzer. In this code we had also option to store variables (only three variables)

  • signal in HO tower
  • pedestal in HO tower (pedestal value is stored only for phi=phi+6 towers and in the fittign time this is corrected. Standard way is to store all pedestal mean and width in an ascii file and read that. But, it was observed that standard pedestal is not matched with pedestal we see in the muon triggered events(not for all data set)
  • An integer number containg informations of (eta,phi)

in root file and read those root files (keep name of those root file in an ascci file one by one) e.g,

more test.log
to make fit with the combination of all those files. Data cards are almost same as producer+analyser, the extra variables in data cards are
  • mCombined : True/False for reading previously sotred rootuple file or getting informations from CMSSW job
  • inputtxtFileName : input text file name for mCombined =True

At present this code along with pythin scripts are in my area /afs/cern.ch/user/m/majumder/scratch0/anal/CMSSW_3_1_1/src/Calibration/PromptHOAnalyser and will put in CVS

More details are in my web page

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2009-08-26 - GobindaMajumder
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback