Print

Print


> Two questions. Is there a way to retrieve or calculate the 
> bin number for a particular angle of theta or phi without 
> going through the cell functions. Also, what are the 
> definitions for the particular arguments sent to the 
> following cell function.
> 
> int constructID(int thetabin, int phibin, int layer, int ec, int sys)
> 
> I know the meanings of thetabin phibin and layer, but what about ec
> (endcap?) and sys (system number?).

I would guess that ec means 1 for endcap and 0 for barrel, and that sys is the system number, which is defined somewhat bizarrely as:

   private static final int SYSTEM_EM = 5;
   private static final int SYSTEM_HAD = 6;
   private static final int SYSTEM_MU = 7;
   private static final int SYSTEM_LUM = 2;

Again see CalorimeterCellNewTag.java for more details.

Obviously you could do the calculation outside of CalorimeterCell, but it would probably be a bad idea. The idea of calorimeter cell is to hide the details of the id, and it is important because the scheme defined by CalorimeterCellNewTag is just one possible tag id scheme. There are other schemes used by older detectors, and we are adding new schemes for non-projective geometry, and expect other new schemes (from Mokka etc) to arrive soon. If you use CalorimeterCell interface you will be to some extend isolated from changes to the cell id scheme, if you do the calculations yourself your code will break whenever a different scheme is used.

Tony