Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-07-16 08:14:24

0001 #include "DiffuseLaserEventSelector.h"
0002 
0003 #include <tpc/LaserEventInfo.h>
0004 
0005 #include <ffaobjects/EventHeader.h>
0006 
0007 #include <fun4all/Fun4AllReturnCodes.h>
0008 
0009 #include <phool/PHCompositeNode.h>
0010 #include <phool/getClass.h>
0011 #include <phool/phool.h>
0012 
0013 #include <iostream>
0014 
0015 DiffuseLaserEventSelector::DiffuseLaserEventSelector(const std::string& name)
0016   : SubsysReco(name)
0017 {
0018 }
0019 
0020 int DiffuseLaserEventSelector::process_event(PHCompositeNode* topNode)
0021 {
0022   LaserEventInfo* laserEventInfo =
0023       findNode::getClass<LaserEventInfo>(topNode, "LaserEventInfo");
0024 
0025   if (!laserEventInfo)
0026   {
0027     std::cout << PHWHERE
0028               << " LaserEventInfo node is missing. Rejecting event."
0029               << std::endl;
0030 
0031     return Fun4AllReturnCodes::DISCARDEVENT;
0032   }
0033 
0034   EventHeader *eventHeader = findNode::getClass<EventHeader>(topNode, "EventHeader");
0035   if (!eventHeader)
0036   {
0037     std::cout << PHWHERE << " EventHeader Node missing, doing nothing." << std::endl;
0038     return Fun4AllReturnCodes::ABORTRUN;
0039   }
0040 
0041   bool accept = true;
0042 
0043   /*
0044   if (m_requireTPCDiffuseLaser)
0045   {
0046     accept = accept && laserEventInfo->isLaserEvent();
0047   }
0048 
0049   if (m_requireGL1Laser)
0050   {
0051     accept = accept && laserEventInfo->isGl1LaserEvent();
0052   }
0053 
0054   if (m_rejectGL1Pileup)
0055   {
0056     accept = accept && !laserEventInfo->isGl1LaserPileupEvent();
0057   }
0058   */
0059 
0060   if((eventHeader->get_RunNumber() > 66153 && laserEventInfo->isGl1LaserEvent()) || (eventHeader->get_RunNumber() <= 66153 && laserEventInfo->isLaserEvent()))
0061   {
0062     accept = true;
0063   }
0064   else
0065   {
0066     accept = false;
0067   }
0068 
0069   /*if (Verbosity() > 1)
0070   {
0071     std::cout << "DiffuseLaserEventSelector:"
0072               << " isLaserEvent = " << laserEventInfo->isLaserEvent()
0073               << " isGl1LaserEvent = " << laserEventInfo->isGl1LaserEvent()
0074               << " isGl1LaserPileupEvent = "
0075               << laserEventInfo->isGl1LaserPileupEvent()
0076               << " accept = " << accept
0077               << std::endl;
0078   }*/
0079 
0080   if (!accept)
0081   {
0082     return Fun4AllReturnCodes::ABORTEVENT;
0083   }
0084 
0085   return Fun4AllReturnCodes::EVENT_OK;
0086 }