Skip to content

Commit

Permalink
CMSSW_6_2_X_2013-04-05-0200
Browse files Browse the repository at this point in the history
  • Loading branch information
ktf committed Apr 29, 2013
1 parent 87aea7a commit f054ecd
Show file tree
Hide file tree
Showing 141 changed files with 7,102 additions and 622,808 deletions.
17 changes: 5 additions & 12 deletions CalibMuon/CSCCalibration/.admin/developers
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,12 @@
# NB: This file was automatically generated by CreateCVSPackage.pl.
#
>Developers
boeriu : BOERIU Vickey : [email protected]
namapane : Nicola Amapane : [email protected]
ptc : Tim Cox : [email protected]
rpw : Rick Wilkinson : [email protected]
igorvrb : Igor Vorobiev : [email protected]
nummy : Thomas Nummy : [email protected]
deisher : Amanda Deisher : [email protected]
kkaadze : Ketino Kaadze : [email protected]
darinb : Darin Carl Baumgartel : [email protected]
igorvrb : Igor Vorobiev : [email protected]
khotilov : Vadim Khotilovich : [email protected]
ptc : Tim Cox : [email protected]

>Administrators
boeriu : BOERIU Vickey : Oana.Boeriu@cern.ch
namapane : Nicola Amapane : Nicola.Amapane@cern.ch
darinb : Darin Carl Baumgartel : darin.carl.baumgartel@cern.ch
khotilov : Vadim Khotilovich : Vadim.Khotilovich@cern.ch
ptc : Tim Cox : [email protected]
malgeri : Luca Malgeri : [email protected]

1 change: 1 addition & 0 deletions CalibMuon/CSCCalibration/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<use name="FWCore/Framework"/>
<use name="FWCore/MessageLogger"/>
<use name="FWCore/ParameterSet"/>
<use name="FWCore/Utilities"/>
<export>
<lib name="1"/>
</export>
73 changes: 73 additions & 0 deletions CalibMuon/CSCCalibration/doc/CSCCalibration.doc
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@

/*!

\page CalibMuon_CSCCalibration Package CalibMuon/CSCCalibration

<center>
<small>

<!-- @CVS_TAG@ will be substituted at build time, no need to touch -->
<a href=http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CalibMuon/CSCCalibration/?cvsroot=CMSSW&only_with_tag=@CVS_TAG@>Source code (CVS tag: @CVS_TAG@)</a> -
<a href=http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CalibMuon/CSCCalibration/.admin/developers?rev=HEAD&cvsroot=CMSSW&content-type=text/vnd.viewcvs-markup>Administrative privileges</a>
</small>
</center>

\section desc Description
<!-- Short description of what this package is supposed to provide -->

(THE PACKAGE ADMINISTATOR SHOULD REPLACE THIS SENTENCE WITH HAND-WRITTEN DOCUMENTATION SAYING WHAT THE PACKAGE DOES.)

\subsection interface Public interface
<!-- List the classes that are provided for use in other packages (if any) -->

- CSCBadChambersConditions
- CSCBadStripsConditions
- CSCBadWiresConditions
- CSCChipSpeedCorrectionDBConditions
- CSCConditions
- CSCCrosstalkConditions
- CSCCrosstalkDBConditions
- CSCDBL1TPParametersConditions
- CSCFakeCrosstalkConditions
- CSCFakeCrosstalkMap
- CSCFakeDBCrosstalk
- CSCFakeDBCrosstalkPopCon
- CSCFakeDBGains
- CSCFakeDBGainsPopCon
- CSCFakeDBNoiseMatrix
- CSCFakeDBPedestals
- CSCFakeGainsConditions
- CSCFakeNoiseMatrixConditions
- CSCFakePedestalsConditions
- CSCGainsConditions
- CSCGainsDBConditions
- CSCGasGainCorrectionDBConditions
- CSCL1TPParametersConditions
- CSCNoiseMatrixConditions
- CSCNoiseMatrixDBConditions
- CSCPedestalsDBConditions


\subsection pluginai Plugins
<!-- List the plugins that are provided for use in other packages (if any) -->




\subsection modules Modules
<!-- Describe modules implemented in this package and their parameter set -->


\subsection tests Unit tests and examples
<!-- Describe cppunit tests and example configuration files -->
Unknown

\section status Status and planned development
<!-- e.g. completed, stable, missing features -->
Unknown

<hr>
Last updated:
@DATE@ Author: computer-generated.
*/

73 changes: 73 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#ifndef CSCChannelMapperBase_H
#define CSCChannelMapperBase_H

/**
* \class CSCChannelMapperBase
*
* Base class for concrete CSCChannelMapper classes that
* map between raw/online channel numbers (for strips/cathodes and wires/anodes)
* and offline geometry-oriented channel numbers, in which increasing number
* corresponds to increasing local x (strips) or y (wire groups) as defined
* in CMS Note CMS IN-2007/024.
*
* The original of this class, CSCChannelTranslator, was written in the expectation
* that one day it would be replaced by a full "cable map" stored in conditions data.
* That has not yet been required and so the mappings are hard-coded.
*
* Concrete derived classes must implement the following: <BR>
* 1. Sort out any readout-flipping within the two endcaps for ME1a and ME1b strip channels. <BR>
* 2. If ME1a is ganged then map the ME1a channels from online labels 65-80 to offline 1-16. <BR>
* 3. Do nothing with wiregroup channels; the output = the input. <BR>
* (Historically some test beam data needed wiregroup remapping but this was embedded directly in the
* Unpacker of CSCRawToDigi. We want to move any such mappings into this class rather than have them
* scattered through the code.)
*
* Beware that if ME1a is ganged,the 48 strips in ME1a are fed to 16 channels, so it is important
* to distinguish the nomenclatures "strip" vs "channel". It is usually a meaningful distinction!
*
* Also note that the CSCDetId for ME11 and ME1b is identical. Offline we presume ring=1 of station 1
* to mean the ME1b strips. We use the identifier ring=4 to denote the ME1a strips.
*
* \author Tim Cox
*
*/

#include "DataFormats/MuonDetId/interface/CSCDetId.h"

class CSCChannelMapperBase{
public:

CSCChannelMapperBase() {}
virtual ~CSCChannelMapperBase() {}

virtual std::string name() const {return "CSCChannelMapperBase";}

/// Return raw strip channel number for input geometrical channel number
virtual int rawStripChannel( const CSCDetId& id, int igeom ) const = 0;
/// Return raw wiregroup channel number for input geometrical channel number
int rawWireChannel( const CSCDetId& id, int igeom ) const { return igeom; }
/// Return geometrical strip channel number for input raw channel number
virtual int geomStripChannel( const CSCDetId& id, int iraw ) const = 0;
/// Return geometrical wiregroup channel number for input raw channel number
int geomWireChannel( const CSCDetId& id, int iraw ) const { return iraw; }

/// Alias for rawStripChannel
int rawCathodeChannel( const CSCDetId& id, int igeom ) const { return rawStripChannel( id, igeom );}
/// Alias for rawWireChannel
int rawAnodeChannel( const CSCDetId& id, int igeom ) const { return rawWireChannel( id, igeom );}
/// Alias for geomStripChannel
int geomCathodeChannel( const CSCDetId& id, int iraw ) const { return geomStripChannel( id, iraw );}
/// Alias for geomWireChannel
int geomAnodeChannel( const CSCDetId& id, int iraw ) const { return geomWireChannel( id, iraw );}

/// Offline conversion of a strip (geometric labelling) back to channel
/// (At present this just has to convert the 48 strips of ME1A to 16 ganged channels.)
virtual int channelFromStrip( const CSCDetId& id, int strip ) const = 0;

/// Construct raw CSCDetId matching supplied offline CSCDetid
/// (At present all this has to do is return the ME11 CSCDetID when supplied with that for ME1A)
virtual CSCDetId rawCSCDetId( const CSCDetId& id ) const = 0;

};

#endif
26 changes: 26 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperESProducer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef CSCChannelMapperESProducer_H
#define CSCChannelMapperESProducer_H

#include <memory>
#include "boost/shared_ptr.hpp"

#include "FWCore/Framework/interface/ESProducer.h"

#include "CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h"
#include "CalibMuon/CSCCalibration/interface/CSCChannelMapperRecord.h"

class CSCChannelMapperESProducer : public edm::ESProducer {

public:
typedef boost::shared_ptr<CSCChannelMapperBase> BSP_TYPE;

CSCChannelMapperESProducer(const edm::ParameterSet&);
~CSCChannelMapperESProducer();

BSP_TYPE produce(const CSCChannelMapperRecord&);

private:
std::string algoName;
};

#endif
9 changes: 9 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperFactory.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#ifndef CSCChannelMapperFactory_H
#define CSCChannelMapperFactory_H

#include "FWCore/PluginManager/interface/PluginFactory.h"
#include "CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h"

typedef edmplugin::PluginFactory< CSCChannelMapperBase* (void) > CSCChannelMapperFactory;

#endif
53 changes: 53 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperPostls1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#ifndef CSCChannelMapperPostls1_H
#define CSCChannelMapperPostls1_H

/**
* \class CSCChannelMapperPostls1
*
* A concrete CSCChannelMapper class to
* map between raw/online channel numbers (for strips/cathodes and wires/anodes)
* and offline geometry-oriented channel numbers, in which increasing number
* corresponds to increasing local x (strips) or y (wire groups) as defined
* in CMS Note CMS IN-2007/024.
*
* This version is for CMS Postls1 (2013-)
*
* 1. Sorts out readout-flipping within the two endcaps for ME1a and ME1b strip channels. <BR>
* We do not yet know whether there WILL be any flipping. For now we presume it is as in the Startup case. <BR>
* 2. Doesnothing with ME1a channels since we intend each of the 48 strips to go to 48 individual channels. <BR>
* 3. Does nothing with wiregroup channels; the output = the input. <BR>
*
* Also note that the CSCDetId for ME11 and ME1b is identical. Offline we presume ring=1 of station 1
* to mean the ME1b strips. We use the identifier ring=4 to denote the ME1a strips.
*
* \author Tim Cox
*
*/

#include "CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h"

class CSCChannelMapperPostls1 : public CSCChannelMapperBase {
public:

CSCChannelMapperPostls1() {}
~CSCChannelMapperPostls1() {}

virtual std::string name() const {return "CSCChannelMapperPostls1";}

/// Return raw strip channel number for input geometrical channel number
int rawStripChannel( const CSCDetId& id, int igeom ) const;

/// Return geometrical strip channel number for input raw channel number
int geomStripChannel( const CSCDetId& id, int iraw ) const ;

/// Offline conversion of a strip (geometric labelling) back to channel
/// (Postls1: 1-1 correspondence strip to channel)
int channelFromStrip( const CSCDetId& id, int strip ) const;

/// Construct raw CSCDetId matching supplied offline CSCDetid
/// (Postls1: leave ME1a detid alone)
CSCDetId rawCSCDetId( const CSCDetId& id ) const;

};

#endif
8 changes: 8 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperRecord.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#ifndef CSCChannelMapperRecord_h
#define CSCChannelMapperRecord_h

#include "FWCore/Framework/interface/EventSetupRecordImplementation.h"

class CSCChannelMapperRecord : public edm::eventsetup::EventSetupRecordImplementation<CSCChannelMapperRecord> {};

#endif
55 changes: 55 additions & 0 deletions CalibMuon/CSCCalibration/interface/CSCChannelMapperStartup.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#ifndef CSCChannelMapperStartup_H
#define CSCChannelMapperStartup_H

/**
* \class CSCChannelMapperStartup
*
* A concrete CSCChannelMapper class to
* map between raw/online channel numbers (for strips/cathodes and wires/anodes)
* and offline geometry-oriented channel numbers, in which increasing number
* corresponds to increasing local x (strips) or y (wire groups) as defined
* in CMS Note CMS IN-2007/024.
*
* This version is for CMS Startup (2008-2013)
*
* 1. Sorts out readout-flipping within the two endcaps for ME1a and ME1b strip channels. <BR>
* 2. Maps the ME1a channels from online labels 65-80 to offline 1-16. <BR>
* 3. Does nothing with wiregroup channels; the output = the input. <BR>
*
* Since ME1a is ganged, the 48 strips in ME1a are fed to 16 channels, so it is important
* to distinguish the nomenclatures "strip" vs "channel". It is usually a meaningful distinction!
*
* Also note that the CSCDetId for ME11 and ME1b is identical. Offline we presume ring=1 of station 1
* to mean the ME1b strips. We use the identifier ring=4 to denote the ME1a strips.
*
* \author Tim Cox
*
*/

#include "CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h"

class CSCChannelMapperStartup : public CSCChannelMapperBase {
public:

CSCChannelMapperStartup() {}
~CSCChannelMapperStartup() {}

virtual std::string name() const {return "CSCChannelMapperStartup";}

/// Return raw strip channel number for input geometrical channel number
int rawStripChannel( const CSCDetId& id, int igeom ) const;

/// Return geometrical strip channel number for input raw channel number
int geomStripChannel( const CSCDetId& id, int iraw ) const ;

/// Offline conversion of a strip (geometric labelling) back to channel
/// (Startup: convert the 48 strips of ME1A to 16 ganged channels.)
int channelFromStrip( const CSCDetId& id, int strip ) const;

/// Construct raw CSCDetId matching supplied offline CSCDetid
/// (Startup: return the ME11 CSCDetID when supplied with that for ME1A)
CSCDetId rawCSCDetId( const CSCDetId& id ) const;

};

#endif
Loading

0 comments on commit f054ecd

Please sign in to comment.