View Javadoc

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   * Load CalorimeterConditions data for 'sidloi3' and print it out.
21   * @author Jeremy McCormick
22   */
23  public class CalorimeterConditionsTest extends TestCase 
24  {
25  	public void testLoadCalorimeterConditions() throws Exception 
26  	{	
27  		// Get detector.
28  		Detector detector = DetectorLocator.findDetector("sidloi3");
29  		
30  		// Get CalorimeterCalibration conditions.
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          // Add CalorimeterTypes to check.
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  		// Make conditions object for CalorimeterTypes. 
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  }