Aerogel Cerenkov Counter


Aerogel overview

The Aerogel is a Cherenkov counter detector. It comprises 160 boxes, each with 2 photomultiplier tubes for a total of 320 channels. Each box is filled with aerogel material with an index of refraction of n=1.0113. It occupies the full acceptance of sector 1 in the west arm.

Presentations

Aerogel analysis variables

   Type    Name    Description
   int    get_aerindex    The AccCluster index for the track
   AccSnglCluster*    get_cluster    The single cluster from the cluster container with the cluster index as the argument
   int    get_aerhitid    The global box id number of the single cluster
   int    get_aerhitconfig    The loacl box id number of the single cluster
   float    get_aerph1    Number of photoelectrons from PMT1 with aerhitconfig as the argument
   float    get_aerph2    Number of photoelectrons from PMT2 with aerhitconfig as the argument
   float    get_aert1    Timing information from PMT1 with aerhitconfig as the argument
   float    get_aert2    Timing information from PMT2 with aerhitconfig as the argument


Unlike most central arm detectors, the Aerogel variables are not accessible directly from PHCentralTrack or PHSnglCentralTrack but instead are accessed from their own classes AccCluster and AccSnglCluster. There are very few Aerogel variables, so we present all of them here in the form of an analysis code snippet to simultaneously illustrate how to get them and what they are.

  PHCentralTrack* d_cnt = getClass<PHCentralTrack>(topNode,"PHCentralTrack");
  AccCluster* d_acccl = getClass<AccCluster>(topNode,"AccCluster");
  for ( unsigned int itrk = 0; itrk < d_cnt->get_npart(); ++itrk )
    {
      // get the aerogel cluster index for this track either
      // from PHCentralTrack or PHSnglCentralTrack
      int aerindex = d_cnt->get_aerindex(itrk);

      // get the single cluster object from the cluster container
      // using the cluster index
      AccSnglCluster* d_clus = d_acccl->get_cluster(aerindex);

      // get the global box number of the hit from the single cluster object
      int aerhitid = d_clus->get_aerhitid();

      // get the local box number of the hit from the single cluster object
      int aerhitconfig = d_clus->get_aerhitconfig();

      // get the variables using the local box number

      // number of photoelectrons in PMT1
      float aerph1 = d_clus->get_aerph1(aerhitconfig);
      // number of photoelectrons in PMT2
      float aerph2 = d_clus->get_aerph2(aerhitconfig);
      // time of PMT1
      float aert1 = d_clus->get_aert1(aerhitconfig);
      // time of PMT2
      float aert2 = d_clus->get_aert2(aerhitconfig);
    }