1 package org.lcsim.cal.calib;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import junit.framework.TestCase;
7
8 import org.lcsim.conditions.ConditionsManager;
9 import org.lcsim.conditions.ConditionsManager.ConditionsSetNotFoundException;
10 import org.lcsim.conditions.ConditionsSet;
11 import org.lcsim.geometry.Calorimeter;
12 import org.lcsim.geometry.Calorimeter.CalorimeterType;
13 import org.lcsim.geometry.Detector;
14 import org.lcsim.geometry.compact.converter.pandora.CalorimeterConditions;
15 import org.lcsim.geometry.compact.converter.pandora.SamplingLayerRange;
16 import org.lcsim.geometry.compact.converter.pandora.SamplingLayers;
17 import org.lcsim.geometry.util.DetectorLocator;
18
19
20
21
22
23 public class CalorimeterConditionsTest extends TestCase
24 {
25 public void testLoadCalorimeterConditions() throws Exception
26 {
27
28 Detector detector = DetectorLocator.findDetector("sidloi3");
29
30
31 ConditionsManager mgr = ConditionsManager.defaultInstance();
32 ConditionsSet cs = null;
33 try
34 {
35 cs = mgr.getConditions("CalorimeterCalibration");
36 }
37 catch(ConditionsSetNotFoundException e)
38 {
39 System.out.println("ConditionSet CalorimeterCalibration not found for detector "+ mgr.getDetector());
40 System.out.println("Please check that the file CaloriemterCalibration.properties exists in this detector's conditions zip file.");
41 }
42
43
44 List<Calorimeter.CalorimeterType> calTypes = new ArrayList<Calorimeter.CalorimeterType>();
45 calTypes.add(CalorimeterType.EM_BARREL);
46 calTypes.add(CalorimeterType.EM_ENDCAP);
47 calTypes.add(CalorimeterType.HAD_BARREL);
48 calTypes.add(CalorimeterType.HAD_ENDCAP);
49 calTypes.add(CalorimeterType.MUON_BARREL);
50 calTypes.add(CalorimeterType.MUON_ENDCAP);
51
52
53 for (Calorimeter.CalorimeterType calType : calTypes)
54 {
55 System.out.println("Reading CalorimeterConditions for " + calType.toString() + " ... ");
56 Calorimeter cal = detector.getCalorimeterByType(calType);
57 CalorimeterConditions calCond = new CalorimeterConditions(cal, cs);
58 System.out.println("mipCut = " + calCond.getMipCut());
59 System.out.println("mipEnergy = " + calCond.getMipEnergy());
60 System.out.println("mipSigma = " + calCond.getMipSigma());
61 System.out.println("timeCut = " + calCond.getTimeCut());
62 SamplingLayers layers = calCond.getSamplingLayers();
63 for (SamplingLayerRange range: layers)
64 {
65 System.out.println("layers " + range.getLowerLayer() + " - " + range.getUpperLayer() + "; EM = " + range.getEMSampling() + "; HAD = " + range.getHADSampling());
66 }
67 System.out.println("Done reading Calorimeter " + cal.getName());
68 System.out.println("-----------------------");
69 }
70 }
71 }