Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:51

0001 #ifndef Validation_MuonHits_MuonHitHelper_h
0002 #define Validation_MuonHits_MuonHitHelper_h
0003 
0004 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
0005 #include "DataFormats/MuonDetId/interface/CSCTriggerNumbering.h"
0006 #include "DataFormats/MuonDetId/interface/DTWireId.h"
0007 #include "DataFormats/MuonDetId/interface/GEMDetId.h"
0008 #include "DataFormats/MuonDetId/interface/ME0DetId.h"
0009 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
0010 
0011 class MuonHitHelper {
0012 public:
0013   /// CSC chamber types, according to CSCDetId::iChamberType()
0014   enum CSCType {
0015     CSC_ALL = 0,
0016     CSC_ME11,
0017     CSC_ME1a,
0018     CSC_ME1b,
0019     CSC_ME12,
0020     CSC_ME13,
0021     CSC_ME21,
0022     CSC_ME22,
0023     CSC_ME31,
0024     CSC_ME32,
0025     CSC_ME41,
0026     CSC_ME42
0027   };
0028 
0029   /// GEM chamber types
0030   enum GEMType { GEM_ALL = 0, GEM_ME11, GEM_ME21 };
0031 
0032   /// RPC endcap chamber types
0033   enum RPCType {
0034     RPC_ALL = 0,
0035     RPC_ME12,
0036     RPC_ME13,
0037     RPC_ME22,
0038     RPC_ME23,
0039     RPC_ME31,
0040     RPC_ME32,
0041     RPC_ME33,
0042     RPC_ME41,
0043     RPC_ME42,
0044     RPC_ME43,
0045     RPC_MB01,
0046     RPC_MB02,
0047     RPC_MB03,
0048     RPC_MB04,
0049     RPC_MB11p,
0050     RPC_MB12p,
0051     RPC_MB13p,
0052     RPC_MB14p,
0053     RPC_MB21p,
0054     RPC_MB22p,
0055     RPC_MB23p,
0056     RPC_MB24p,
0057     RPC_MB11n,
0058     RPC_MB12n,
0059     RPC_MB13n,
0060     RPC_MB14n,
0061     RPC_MB21n,
0062     RPC_MB22n,
0063     RPC_MB23n,
0064     RPC_MB24n
0065   };
0066 
0067   /// DT chamber types
0068   enum DTType {
0069     DT_ALL = 0,
0070     DT_MB01,
0071     DT_MB02,
0072     DT_MB03,
0073     DT_MB04,
0074     DT_MB11p,
0075     DT_MB12p,
0076     DT_MB13p,
0077     DT_MB14p,
0078     DT_MB21p,
0079     DT_MB22p,
0080     DT_MB23p,
0081     DT_MB24p,
0082     DT_MB11n,
0083     DT_MB12n,
0084     DT_MB13n,
0085     DT_MB14n,
0086     DT_MB21n,
0087     DT_MB22n,
0088     DT_MB23n,
0089     DT_MB24n
0090   };
0091 
0092   /// check detid type
0093   static bool isDT(unsigned int detId);
0094   static bool isGEM(unsigned int detId);
0095   static bool isCSC(unsigned int detId);
0096   static bool isRPC(unsigned int detId);
0097   static bool isME0(unsigned int detId);
0098 
0099   // return MuonType for a particular DetId
0100   static int toGEMType(int st, int ri);
0101   static int toRPCType(int re, int st, int ri);
0102   static int toDTType(int wh, int st);
0103   static int toCSCType(int st, int ri);
0104 
0105   // get chamber number
0106   static int chamber(const DetId& id);
0107 };
0108 
0109 #endif