Esempio n. 1
0
//____________________________________
int  TempInfoUnpackPRDF::addPacketInfo(Packet *p, PHCompositeNode *topNode, const time_t  etime, const int evtnr)
{

  int packetid = p->getIdentifier();

  RawTower_Temperature *tower;


  if ( packetid == 974 || packetid == 1074 ) // Inner Hcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_IHCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_IHCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(hcalin_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  hcalin_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      tower->add_entry( evtnr, etime, p->iValue(ibinz*PROTOTYPE2_FEM::NCH_IHCAL_COLUMNS + ibinphi)/1000. ); 
	    }
	}
    }

  else  if ( packetid == 975 || packetid == 1075 ) // outer Hcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_OHCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_OHCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(hcalout_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  hcalout_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      tower->add_entry( evtnr, etime, p->iValue(ibinz*PROTOTYPE2_FEM::NCH_OHCAL_COLUMNS + ibinphi)/1000. ); 
	    }
	}
    }

  else  if ( packetid == 982 || packetid == 1082 ) // emcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_EMCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_EMCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(emcal_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  emcal_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      tower->add_entry( evtnr, etime, p->iValue(ibinz*PROTOTYPE2_FEM::NCH_EMCAL_COLUMNS + ibinphi)/1000. ); 
	    }
	}
    }
  return 0;
}
//____________________________________
int  TempInfoUnpackPRDF::addPacketInfo(Packet *p, PHCompositeNode *topNode, const time_t  etime, const int evtnr)
{

  int packetid = p->getIdentifier();

  RawTower_Temperature *tower;


  if ( packetid == 974 || packetid == 1074 ) // Inner Hcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_IHCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_IHCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(hcalin_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  hcalin_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      tower->add_entry( evtnr, etime, p->iValue(ibinz*PROTOTYPE2_FEM::NCH_IHCAL_COLUMNS + ibinphi)/1000. ); 
	    }
	}
    }

  else  if ( packetid == 975 || packetid == 1075 ) // outer Hcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_OHCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_OHCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(hcalout_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  hcalout_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      tower->add_entry( evtnr, etime, p->iValue(ibinz*PROTOTYPE2_FEM::NCH_OHCAL_COLUMNS + ibinphi)/1000. ); 
	    }
	}
    }

  else  if ( packetid == 982 || packetid == 1082 ) // emcal
    {
      for(int ibinz=0; ibinz<PROTOTYPE2_FEM::NCH_EMCAL_ROWS; ibinz++)
	{
	  for(int ibinphi=0; ibinphi<PROTOTYPE2_FEM::NCH_EMCAL_COLUMNS; ibinphi++)
	    {
	      tower = dynamic_cast<RawTower_Temperature*>(emcal_temperature->getTower(ibinz,ibinphi));
	      if(!tower)
		{
		  tower = new RawTower_Temperature();
		  emcal_temperature->AddTower(ibinz,ibinphi,tower);
		}
	      // this takes care of the newly found "reverse" mapping. (0,0) is module 7, (0,7) is module 0, and 
	      // the 63 - (...) takes care of the reversed vector.  
	      tower->add_entry( evtnr, etime, p->iValue( 63- (ibinz*PROTOTYPE2_FEM::NCH_EMCAL_COLUMNS + (7-ibinphi) ) /1000. ) ); 
	    }
	}
    }
  return 0;
}