LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliRunTagCuts.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 225 0.4 %
Date: 2016-06-14 17:26:59 Functions: 1 9 11.1 %

          Line data    Source code
       1             : /**************************************************************************
       2             :  * Author: Panos Christakoglou.                                           *
       3             :  * Contributors are mentioned in the code where appropriate.              *
       4             :  *                                                                        *
       5             :  * Permission to use, copy, modify and distribute this software and its   *
       6             :  * documentation strictly for non-commercial purposes is hereby granted   *
       7             :  * without fee, provided that the above copyright notice appears in all   *
       8             :  * copies and that both the copyright notice and this permission notice   *
       9             :  * appear in the supporting documentation. The authors make no claims     *
      10             :  * about the suitability of this software for any purpose. It is          *
      11             :  * provided "as is" without express or implied warranty.                  *
      12             :  **************************************************************************/
      13             : 
      14             : /* $Id$ */
      15             : 
      16             : //-----------------------------------------------------------------
      17             : //                   AliRunTagCuts class
      18             : //   This is the class to deal with the run tag level cuts
      19             : //   Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
      20             : //-----------------------------------------------------------------
      21             : 
      22             : class AliLog;
      23             : class AliESD;
      24             : 
      25             : #include "AliRunTag.h"
      26             : #include "AliRunTagCuts.h"
      27             : 
      28         176 : ClassImp(AliRunTagCuts)
      29             : 
      30             : 
      31             : //___________________________________________________________________________
      32             : AliRunTagCuts::AliRunTagCuts() :
      33           0 :   TObject(),
      34           0 :   fAliceRunId(-1),                  
      35           0 :   fAliceRunIdFlag(kFALSE),              
      36           0 :   fAliceMagneticField(-1.),          
      37           0 :   fAliceMagneticFieldFlag(kFALSE),      
      38           0 :   fAliceDipoleField(-1.),
      39           0 :   fAliceDipoleFieldFlag(kFALSE),
      40           0 :   fAliceRunStartTimeMin(-1),        
      41           0 :   fAliceRunStartTimeMax(-1),        
      42           0 :   fAliceRunStartTimeFlag(kFALSE),       
      43           0 :   fAliceRunStopTimeMin(-1),         
      44           0 :   fAliceRunStopTimeMax(-1),         
      45           0 :   fAliceRunStopTimeFlag(kFALSE),        
      46           0 :   fAlirootVersion(""),              
      47           0 :   fAlirootVersionFlag(kFALSE),          
      48           0 :   fRootVersion(""),                 
      49           0 :   fRootVersionFlag(kFALSE),             
      50           0 :   fGeant3Version(""),               
      51           0 :   fGeant3VersionFlag(kFALSE),   
      52           0 :   fLHCPeriod(""),
      53           0 :   fLHCPeriodFlag(kFALSE),
      54           0 :   fRecPass(""),
      55           0 :   fRecPassFlag(kFALSE),
      56           0 :   fProdName(""),
      57           0 :   fProdNameFlag(kFALSE),
      58           0 :   fAliceRunValidation(0),             
      59           0 :   fAliceRunValidationFlag(kFALSE),         
      60           0 :   fAliceRunQualities(""),
      61           0 :   fAliceRunQualitiesFlag(kFALSE),
      62           0 :   fAliceBeamEnergy(-1),             
      63           0 :   fAliceBeamEnergyFlag(kFALSE),         
      64           0 :   fAliceBeamType(""),               
      65           0 :   fAliceBeamTypeFlag(kFALSE),           
      66           0 :   fAliceCalibrationVersion(-1),    
      67           0 :   fAliceCalibrationVersionFlag(kFALSE),
      68           0 :   fAliceDataType(-1),                
      69           0 :   fAliceDataTypeFlag(kFALSE),
      70           0 :   fBeamTriggerRange(),
      71           0 :   fBeamTriggerFlag(kFALSE),
      72           0 :   fCollisionTriggerRange(),
      73           0 :   fCollisionTriggerFlag(kFALSE),
      74           0 :   fEmptyTriggerRange(),
      75           0 :   fEmptyTriggerFlag(kFALSE),
      76           0 :   fASideTriggerRange(),
      77           0 :   fASideTriggerFlag(kFALSE),
      78           0 :   fCSideTriggerRange(),
      79           0 :   fCSideTriggerFlag(kFALSE),
      80           0 :   fHMTriggerRange(),
      81           0 :   fHMTriggerFlag(kFALSE),
      82           0 :   fMuonTriggerRange(),
      83           0 :   fMuonTriggerFlag(kFALSE),
      84           0 :   fCollisionRateRange(),
      85           0 :   fCollisionRateFlag(kFALSE),
      86           0 :   fMeanVertexRange(),
      87           0 :   fMeanVertexFlag(kFALSE),
      88           0 :   fVertexQualityRange(),
      89           0 :   fVertexQualityFlag(kFALSE)
      90           0 : {
      91             :   //Default constructor which calls the Reset method.
      92           0 : }
      93             : 
      94             : //___________________________________________________________________________
      95           0 : AliRunTagCuts::~AliRunTagCuts() {  
      96             :   //Defaut destructor.
      97           0 : }
      98             : 
      99             : //___________________________________________________________________________
     100             : void AliRunTagCuts::Reset() {
     101             :   //Sets dummy values to every private member.
     102           0 :   fAliceRunId = -1;                  
     103           0 :   fAliceRunIdFlag = kFALSE;              
     104           0 :   fAliceMagneticField = -1.;          
     105           0 :   fAliceMagneticFieldFlag = kFALSE;      
     106           0 :   fAliceDipoleField = -1.;
     107           0 :   fAliceDipoleFieldFlag = kFALSE;
     108           0 :   fAliceRunStartTimeMin = -1;        
     109           0 :   fAliceRunStartTimeMax = -1;        
     110           0 :   fAliceRunStartTimeFlag = kFALSE;       
     111           0 :   fAliceRunStopTimeMin = -1;         
     112           0 :   fAliceRunStopTimeMax = -1;         
     113           0 :   fAliceRunStopTimeFlag = kFALSE;        
     114           0 :   fAlirootVersion = "";              
     115           0 :   fAlirootVersionFlag = kFALSE;          
     116           0 :   fRootVersion = "";                 
     117           0 :   fRootVersionFlag = kFALSE;             
     118           0 :   fGeant3Version = "";               
     119           0 :   fGeant3VersionFlag = kFALSE;           
     120           0 :   fLHCPeriod = "";
     121           0 :   fLHCPeriodFlag = kFALSE;
     122           0 :   fRecPass = "";
     123           0 :   fRecPassFlag = kFALSE;
     124           0 :   fProdName = "";
     125           0 :   fProdNameFlag = kFALSE;
     126           0 :   fAliceRunValidation = 0;             
     127           0 :   fAliceRunValidationFlag = kFALSE;         
     128           0 :   fAliceRunQualities = "";
     129           0 :   fAliceRunQualitiesFlag = kFALSE;
     130           0 :   fAliceBeamEnergy = -1;             
     131           0 :   fAliceBeamEnergyFlag = kFALSE;         
     132           0 :   fAliceBeamType = "";               
     133           0 :   fAliceBeamTypeFlag = kFALSE;           
     134           0 :   fAliceCalibrationVersion = -1;    
     135           0 :   fAliceCalibrationVersionFlag = kFALSE;
     136           0 :   fAliceDataType = -1;                
     137           0 :   fAliceDataTypeFlag = kFALSE;           
     138           0 :   fBeamTriggerRange[0] = 0;
     139           0 :   fBeamTriggerRange[1] = 0;
     140           0 :   fBeamTriggerFlag = kFALSE;
     141           0 :   fCollisionTriggerRange[0] = 0;
     142           0 :   fCollisionTriggerRange[1] = 0;
     143           0 :   fCollisionTriggerFlag = kFALSE;
     144           0 :   fEmptyTriggerRange[0] = 0;
     145           0 :   fEmptyTriggerRange[1] = 0;
     146           0 :   fEmptyTriggerFlag = kFALSE;
     147           0 :   fASideTriggerRange[0] = 0;
     148           0 :   fASideTriggerRange[1] = 0;
     149           0 :   fASideTriggerFlag = kFALSE;
     150           0 :   fCSideTriggerRange[0] = 0;
     151           0 :   fCSideTriggerRange[1] = 0;
     152           0 :   fCSideTriggerFlag = kFALSE;
     153           0 :   fHMTriggerRange[0] = 0;
     154           0 :   fHMTriggerRange[1] = 0;
     155           0 :   fHMTriggerFlag = kFALSE;
     156           0 :   fMuonTriggerRange[0] = 0;
     157           0 :   fMuonTriggerRange[1] = 0;
     158           0 :   fMuonTriggerFlag = kFALSE;
     159           0 :   fCollisionRateRange[0] = 0;
     160           0 :   fCollisionRateRange[1] = 0;
     161           0 :   fCollisionRateFlag = kFALSE;
     162           0 :   fMeanVertexRange[0] = 0;
     163           0 :   fMeanVertexRange[1] = 0;
     164           0 :   fMeanVertexFlag = kFALSE;
     165           0 :   fVertexQualityRange[0] = 0;
     166           0 :   fVertexQualityRange[1] = 0;
     167           0 :   fVertexQualityFlag = kFALSE;
     168           0 : }
     169             : 
     170             : void AliRunTagCuts::AddRunQualityValue(Int_t qval)
     171             : {
     172             :   // Adds to the list of selected run qualities
     173           0 :   fAliceRunQualities += qval;
     174           0 :   fAliceRunQualities += " ";
     175           0 :   fAliceRunQualitiesFlag = kTRUE;
     176           0 : }
     177             : 
     178             : //___________________________________________________________________________
     179             : Bool_t AliRunTagCuts::IsAccepted(AliRunTag *RunTag) const {
     180             :   //Returns true if the event is accepted otherwise false.
     181           0 :   if(fAliceRunIdFlag)
     182           0 :     if((RunTag->GetRunId() != fAliceRunId))
     183           0 :       return kFALSE;
     184           0 :   if(fAliceMagneticFieldFlag)
     185           0 :     if((RunTag->GetMagneticField() != fAliceMagneticField))
     186           0 :       return kFALSE;
     187           0 :   if(fAliceDipoleFieldFlag)
     188           0 :     if((RunTag->GetDipoleField() != fAliceDipoleField))
     189           0 :       return kFALSE;
     190           0 :   if(fAliceRunStartTimeFlag)
     191           0 :     if((RunTag->GetRunStartTime() < fAliceRunStartTimeMin) || (RunTag->GetRunStartTime() > fAliceRunStartTimeMax))
     192           0 :       return kFALSE;
     193           0 :   if(fAliceRunStopTimeFlag)
     194           0 :     if((RunTag->GetRunStopTime() < fAliceRunStopTimeMin) || (RunTag->GetRunStopTime() > fAliceRunStopTimeMax))
     195           0 :       return kFALSE;
     196           0 :   if(fAlirootVersionFlag)
     197           0 :     if((RunTag->GetAlirootVersion() != fAlirootVersion))
     198           0 :       return kFALSE;
     199           0 :   if(fRootVersionFlag)
     200           0 :     if((RunTag->GetRootVersion() != fRootVersion))
     201           0 :       return kFALSE;
     202           0 :   if(fGeant3VersionFlag)
     203           0 :     if((RunTag->GetGeant3Version() != fGeant3Version))
     204           0 :       return kFALSE;
     205           0 :   if(fLHCPeriodFlag)
     206           0 :     if((RunTag->GetLHCPeriod() != fLHCPeriod))
     207           0 :       return kFALSE;
     208           0 :   if(fRecPassFlag)
     209           0 :     if((RunTag->GetReconstructionPass() != fRecPass))
     210           0 :       return kFALSE;
     211           0 :   if(fProdNameFlag)
     212           0 :     if((RunTag->GetProductionName() != fProdName))
     213           0 :       return kFALSE;
     214           0 :   if(fAliceRunValidationFlag)
     215           0 :     if(RunTag->GetRunValidation())
     216           0 :       return kFALSE;
     217           0 :   if (fAliceRunQualitiesFlag) {
     218           0 :     TObjArray *tQualities = fAliceRunQualities.Tokenize(" ");
     219             :     Bool_t tQual = kFALSE;
     220             : 
     221           0 :     TString tRQual = "";
     222           0 :     tRQual += RunTag->GetRunQuality();
     223             : 
     224           0 :     for (int iqual=0; iqual<tQualities->GetEntries(); iqual++)
     225           0 :       if (((TObjString *) tQualities->At(iqual))->GetString().Contains(tRQual))
     226           0 :         tQual = kTRUE;
     227             :         //      if (EvTag->GetFiredTriggerClasses().Contains(((TObjString *) tClasses->At(iqual))->GetString()))
     228             :   
     229           0 :     tQualities->Delete();
     230           0 :     delete tQualities;
     231             : 
     232           0 :     if (!tQual)
     233           0 :       return kFALSE;
     234           0 :   }
     235           0 :   if(fAliceBeamEnergyFlag)
     236           0 :     if(RunTag->GetBeamEnergy() != fAliceBeamEnergy)
     237           0 :       return kFALSE;
     238           0 :   if(fAliceBeamTypeFlag)
     239           0 :     if(RunTag->GetBeamType() != fAliceBeamType)
     240           0 :       return kFALSE;
     241           0 :   if(fAliceCalibrationVersionFlag)
     242           0 :     if(RunTag->GetBeamEnergy() != fAliceBeamEnergy)
     243           0 :       return kFALSE;
     244           0 :   if(fAliceDataTypeFlag)
     245           0 :     if(RunTag->GetDataType() != fAliceDataType)
     246           0 :       return kFALSE;
     247           0 :   if (fBeamTriggerFlag)
     248           0 :     if ((RunTag->GetBeamTriggers() < fBeamTriggerRange[0]) || (RunTag->GetBeamTriggers() > fBeamTriggerRange[1]))
     249           0 :       return kFALSE;
     250           0 :   if (fCollisionTriggerFlag)
     251           0 :     if ((RunTag->GetCollisionTriggers() < fCollisionTriggerRange[0]) || (RunTag->GetCollisionTriggers() > fCollisionTriggerRange[1]))
     252           0 :       return kFALSE;
     253           0 :   if (fEmptyTriggerFlag)
     254           0 :     if ((RunTag->GetEmptyTriggers() < fEmptyTriggerRange[0]) || (RunTag->GetEmptyTriggers() > fEmptyTriggerRange[1]))
     255           0 :       return kFALSE;
     256           0 :   if (fCSideTriggerFlag)
     257           0 :     if ((RunTag->GetCSideTriggers() < fCSideTriggerRange[0]) || (RunTag->GetCSideTriggers() > fCSideTriggerRange[1]))
     258           0 :       return kFALSE;
     259           0 :   if (fASideTriggerFlag)
     260           0 :     if ((RunTag->GetASideTriggers() < fASideTriggerRange[0]) || (RunTag->GetASideTriggers() > fASideTriggerRange[1]))
     261           0 :       return kFALSE;
     262           0 :   if (fHMTriggerFlag)
     263           0 :     if ((RunTag->GetHMTriggers() < fHMTriggerRange[0]) || (RunTag->GetHMTriggers() > fHMTriggerRange[1]))
     264           0 :       return kFALSE;
     265           0 :   if (fMuonTriggerFlag)
     266           0 :     if ((RunTag->GetMuonTriggers() < fMuonTriggerRange[0]) || (RunTag->GetMuonTriggers() > fMuonTriggerRange[1]))
     267           0 :       return kFALSE;
     268           0 :   if (fCollisionRateFlag)
     269           0 :     if ((RunTag->GetCollisionRate() < fCollisionRateRange[0]) || (RunTag->GetCollisionRate() > fCollisionRateRange[1]))
     270           0 :       return kFALSE;
     271           0 :   if (fMeanVertexFlag)
     272           0 :     if ((RunTag->GetMeanVertex() < fMeanVertexRange[0]) || (RunTag->GetMeanVertex() > fMeanVertexRange[1]))
     273           0 :       return kFALSE;
     274           0 :   if (fVertexQualityFlag)
     275           0 :     if ((RunTag->GetVertexQuality() < fVertexQualityRange[0]) || (RunTag->GetVertexQuality() > fVertexQualityRange[1]))
     276           0 :       return kFALSE;
     277             : 
     278           0 :   return kTRUE;
     279           0 : }

Generated by: LCOV version 1.11