AdamGibsonLArCosmicsBadChannels
In the absence of a more official list, several people looking at the cosmics dataset in the LAr have come up with their own list
of "bad" channels. That is, channels which may helpfully masked in a cosmics analysis or monitoring effort.
It is based on cells that have mean energies far from zero, that have unusually high RMS energies, that populate the tails of the energy distributions, or that are known to have out of date calibrations (e.g. because of swapped FEB's).
Note that the analysis that contributed most of the channels to this list required complete conditions before even asking if a cell was bad. So, these lists may be sufficient only after making that requirement. (As of November 2007 this requirement still eliminates all of the barrel presampler, significant chunks of barrel A, all of the FCAL, HEC C, and other portions of endcaps A and C. Conditions for EMEC C standard crates were recently added, but bad channels have not yet been identified.)
With current conditions, the recommended version for M5 data is v0_1_8. For data before the endcap A refurbishment campaign (i.e. pre-M5 endcap A data), v0.1.4 is probably best. For data from the weekend of November 9, 2007 v0_1_7_1 is recommended. It remains to be seen, but probably for data from the weekend of November 16, 2007 v0_1_7 will be appropriate.
The various files are described in
badChannelNotes.txt.
Some of the lists are available with their eta and z coordinates from both
CommNF3 and
CommNF0 detector descriptions. For recent versions the default is
CommNF3.
The lists sometimes exist in
JiveFormat and
WalterFormat as well as the default.
WalterFormat is extended FT format, and
is to be used with Walter's jo hooks to remove bad channels before the cells are created.
JiveFormat is just the offline ID's.
JiveFormat is for masking LAr "bad" cells in Athena. For example, in
CaloJiveXML-00-00-45 and later, in
CaloJiveXML_DataTypes.py or equivalent, one can set
theCaloRetriever.DoMaskLArChannelsM5 = True
and then provide a list of offline ID's to mask
theCaloRetriever.LArChannelsToIgnoreM5 = [838950912,843100160]
To use Walter's jo hooks to remove bad channels before cells are created, one can add the
WalterFormat list to the jo's,
for example, as the first item of your top-level job option:
MaskedLArCells = [list]
This is available in point 1 releases in current nightlies. (Should now be available in 13.0.30.16, but I haven't tested it.) There was an incompatibility with
CaloJiveXML, corrected in
CaloJiveXML-00-00-48. (Athena crashed when you used both
MaskedLArCells and
DetailedJiveXML.)
Then there is the posibillity to use the
CaloBadChannelTool from Teddy (the following description is Emanuel R - maybe too naive view,...):
LArBadChannelTool.cxx basically gives the pathologies of the concerned channels as stored in the DB. To use this info in reco one uese the
LArBadChannelMasker. It takes a list of pathologies and masks the respective cells (all this is gain sensitive i.e. if a pathologioe e.g. is noisy in HIGH gain: highNoiseHG the cell will be masked only in HIGH gain!).
Now this masking has two possible consequences on ntuple level the cells will either be built anyway but the bad channel bit info (0=ok,1=dead,2=affected) is filled in the ntuple or the masked cells are not built at all. The respective settings in Your topjO:
#build cells of masked channels (True) or don't (False)
doBuildBadChannel=False
#add bad channel bit info (0=ok,1=dead,2=affected) to CBNT or not
doBadChannelCBNT=True
jO examples in
http://alxr.usatlas.bnl.gov/lxr/source/atlas/Calorimeter/CaloExample/CaloCosEx/share/LArSignalReco_Cosmics_jobOptions.py#020
and
http://alxr.usatlas.bnl.gov/lxr/source/atlas/LArCalorimeter/LArBadChannelTool/share/LArBadChannelReadTest.py#073
For monitoring, "CosmicsMon", "CaloCellVecMon", and "CaloCosmicsClusterMon" use a common interface to the bad channel list.
The name of the ASCII file list should be set in
LArMonTools/LArCosmicsMonTool_jobOptions.py, e.g.
BadChannelfile="badChannels_v0_1_7_1.txt"
and the file should be put some place where it can be automatically picked up. Probably putting it in the same place as
LArCosmicsMonTool_jobOptions.py will work.
This root file contains, among other plots, energy distributions for each of the "bad" channels in v0.1.4 of the list, for run 24847.
The histograms have encoded names, like
EBadChannelL13N8FT3Slot6Chan103.
Where L13 designates the cell is in HEC3. N8 says its channel number 8 (counting from 0) on the list, in that layer. Then the FT, slot, and channel number are given.
(L0 to 16 are: EMB0-3, EMEC0-3, EMECIW1-2, HEC0-3, FCAL1-3)
These plots give a feeling for the symptoms of the bad channel. A "good" channel has a gaussian noise distribution with mean 0, and an RMS characteristic of the cell, and perhaps a high energy tail from cosmics. Bad channels may include means far from 0, uncharacteristically high RMS, long tails not from cosmics, etc.
Energy distributions are also included, layer by layer, for the residual "good" channels. So, for a baseline, you can look at plots like
EZoomEMEC2Hist. These are not perfect distributions, and still obviously contain some "bad" channels. But, they represent the current state of the masking, and provide a reasonable comparison for the "bad" channels.
When discussing bad channels, it can be helpful to be able to move easily between different sets of coordinate systems.
Pavol has dumped a set of maps to ASCII files to help with that conversion.
offon_key.txt has some definitions, and then there are maps for various
DetDescrTag's.
ATLAS-CommNF-00-00-00,
ATLAS-CommNF-03-00-00,
ATLAS-CSC-00-00-00. March 16 2009 Note: I notice that the CSC geometry has some different offline ID's for FCal channels, relative to the comm geometries.
--
AdamGibson - 16 Nov 2007
- offon_key.txt: Definitions of some quantities in the channel maps.