LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliEventTag.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 161 252 63.9 %
Date: 2016-06-14 17:26:59 Functions: 8 10 80.0 %

          Line data    Source code
       1             : /**************************************************************************
       2             :  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       3             :  *                                                                        *
       4             :  * Author: The ALICE Off-line Project.                                    *
       5             :  * Contributors are mentioned in the code where appropriate.              *
       6             :  *                                                                        *
       7             :  * Permission to use, copy, modify and distribute this software and its   *
       8             :  * documentation strictly for non-commercial purposes is hereby granted   *
       9             :  * without fee, provided that the above copyright notice appears in all   *
      10             :  * copies and that both the copyright notice and this permission notice   *
      11             :  * appear in the supporting documentation. The authors make no claims     *
      12             :  * about the suitability of this software for any purpose. It is          *
      13             :  * provided "as is" without express or implied warranty.                  *
      14             :  **************************************************************************/
      15             : 
      16             : /* $Id$ */
      17             : 
      18             : //-----------------------------------------------------------------
      19             : //           Implementation of the EventTag class
      20             : //   This is the class to deal with the tags in the event level
      21             : //   Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
      22             : //-----------------------------------------------------------------
      23             : 
      24             : #include "AliEventTag.h"
      25             : #include <TObjArray.h>
      26             : #include <TObjString.h>
      27             : 
      28         176 : ClassImp(AliEventTag)
      29             : 
      30             : //______________________________________________________________________________
      31             :   AliEventTag::AliEventTag() : 
      32          18 :     TObject(),
      33          18 :     fPeriodNumber(0),
      34          18 :     fOrbitNumber(0),
      35          18 :     fBunchCrossNumber(0),
      36             :     //*T*    fFiredTriggerClasses(),
      37          18 :     fEventType(0),
      38          18 :     fPhysicsFlag(0),
      39          18 :     fBackgroundFlag(0),
      40             : //     fGUID(0),
      41             : //     fPath(0),
      42             : //     fsize(0),
      43             : //     fmd5(0),
      44             : //     fturl(0),
      45             : //    fFileRef(0),
      46          18 :     fNumberOfParticipants(-10),
      47          18 :     fNumberOfParticipants2(-10),
      48          18 :     fImpactParameter(-10.0),
      49          18 :     fPrimaryVertexFlag(-1),
      50          18 :     fPrimaryVertexX(-100.0),
      51          18 :     fPrimaryVertexY(-100.0),
      52          18 :     fPrimaryVertexZ(-100.0),
      53          18 :     fPrimaryVertexZError(-100.0),
      54          18 :     fTriggerMask(0),
      55          18 :     fTriggerMaskNext50(0),
      56          18 :     fTriggerCluster(0),
      57          18 :     fZDCNeutron1Energy(-10.0),
      58          18 :     fZDCProton1Energy(-10.0),
      59          18 :     fZDCNeutron2Energy(-10.0),
      60          18 :     fZDCProton2Energy(-10.0),
      61          18 :     fT0VertexZ(-10.0),
      62          18 :     fNumberOfTracks(-10),
      63          18 :     fNumberOfPositiveTracks(-10),
      64          18 :     fNumberOfNegativeTracks(-10),
      65          18 :     fNumberOfNeutralTracks(-10),  
      66          18 :     fNumberOfV0s(-10),
      67          18 :     fNumberOfCascades(-10),
      68          18 :     fNumberOfKinks(-10),
      69          18 :     fNumberOfPMDTracks(-10),
      70          18 :     fNumberOfFMDTracks(-10),
      71          18 :     fNumberOfPHOSClusters(-10),
      72          18 :     fNumberOfEMCALClusters(-10),
      73          18 :     fNumberOfJetCandidates(-10),
      74          18 :     fMaxJetEnergy(-100.0),
      75          18 :     fNumberOfHardPhotonsCandidates(-10),
      76          18 :     fMaxNeutralEnergy(-100.0),
      77          18 :     fNumberOfChargedAbove1GeV(-10),
      78          18 :     fNumberOfChargedAbove3GeV(-10),
      79          18 :     fNumberOfChargedAbove10GeV(-10),
      80          18 :     fNumberOfMuonsAbove1GeV(-10),
      81          18 :     fNumberOfMuonsAbove3GeV(-10),
      82          18 :     fNumberOfMuonsAbove10GeV(-10),
      83          18 :     fNumberOfElectronsAbove1GeV(-10),
      84          18 :     fNumberOfElectronsAbove3GeV(-10),
      85          18 :     fNumberOfElectronsAbove10GeV(-10),
      86          18 :     fNumberOfElectrons(-10),
      87          18 :     fNumberOfFWMuons(-10),
      88          18 :     fNumberOfFWMatchedMuons(-10),
      89          18 :     fNumberOfMuons(-10),
      90          18 :     fNumberOfPions(-10),
      91          18 :     fNumberOfKaons(-10),
      92          18 :     fNumberOfProtons(-10),
      93          18 :     fNumberOfLambdas(-10),
      94          18 :     fNumberOfPhotons(-10),
      95          18 :     fNumberOfPi0s(-10),
      96          18 :     fNumberOfNeutrons(-10),
      97          18 :     fNumberOfKaon0s(-10),
      98          18 :     fTotalP(-10.0),
      99          18 :     fMeanPt(-10.0),
     100          18 :     fMaxPt(-10.0),
     101          18 :     fEtaMaxPt(-13.0),
     102          18 :     fPhiMaxPt(+13.0),
     103          18 :     fTotalNeutralP(-10.0),
     104          18 :     fMeanNeutralPt(-10.0),
     105          18 :     fMaxNeutralPt(-10.0),
     106          18 :     fEventPlaneAngle(-10.0),
     107          18 :     fHBTRadii(-10.0),
     108          18 :     fNumberOfFiredChipsLayer1(0),
     109          18 :     fNumberOfFiredChipsLayer2(0),
     110          18 :     fNumberOfSPDTracklets(0),
     111          18 :     fMTotV0A(0),
     112          18 :     fMTotV0C(0),
     113          18 :     fNbPMV0A(0),
     114          18 :     fNbPMV0C(0)
     115          90 : {
     116             :   // AliEventTag default constructor
     117         108 :   for(Int_t i=0; i<2; i++)     fZDCEMEnergy[i] = -10.0;
     118          36 : }
     119             : 
     120             : 
     121             : //___________________________________________________________________________
     122             : AliEventTag::AliEventTag(const AliEventTag & evTag) :
     123          16 :   TObject(evTag),
     124          16 :   fPeriodNumber(evTag.fPeriodNumber),
     125          16 :   fOrbitNumber(evTag.fOrbitNumber),
     126          16 :   fBunchCrossNumber(evTag.fBunchCrossNumber),
     127             :   //*T*  fFiredTriggerClasses(evTag.fFiredTriggerClasses),
     128          16 :   fEventType(evTag.fEventType),
     129          16 :   fPhysicsFlag(evTag.fPhysicsFlag),
     130          16 :   fBackgroundFlag(evTag.fBackgroundFlag),
     131             : //   fGUID(evTag.fGUID),
     132             : //   fPath(evTag.fPath),
     133             : //   fsize(evTag.fsize),
     134             : //   fmd5(evTag.fmd5),
     135             : //   fturl(evTag.fturl),
     136             : // fFileRef(0),
     137          16 :   fNumberOfParticipants(evTag.fNumberOfParticipants),
     138          16 :   fNumberOfParticipants2(evTag.fNumberOfParticipants2),
     139          16 :   fImpactParameter(evTag.fImpactParameter),
     140          16 :   fPrimaryVertexFlag(evTag.fPrimaryVertexFlag),
     141          16 :   fPrimaryVertexX(evTag.fPrimaryVertexX),
     142          16 :   fPrimaryVertexY(evTag.fPrimaryVertexY),
     143          16 :   fPrimaryVertexZ(evTag.fPrimaryVertexZ),
     144          16 :   fPrimaryVertexZError(evTag.fPrimaryVertexZError),
     145          16 :   fTriggerMask(evTag.fTriggerMask),
     146          16 :   fTriggerMaskNext50(evTag.fTriggerMaskNext50),
     147          16 :   fTriggerCluster(evTag.fTriggerCluster),
     148          16 :   fZDCNeutron1Energy(evTag.fZDCNeutron1Energy),
     149          16 :   fZDCProton1Energy(evTag.fZDCProton1Energy),
     150          16 :   fZDCNeutron2Energy(evTag.fZDCNeutron2Energy),
     151          16 :   fZDCProton2Energy(evTag.fZDCProton2Energy),
     152          16 :   fT0VertexZ(evTag.fT0VertexZ),
     153          16 :   fNumberOfTracks(evTag.fNumberOfTracks),
     154          16 :   fNumberOfPositiveTracks(evTag.fNumberOfPositiveTracks),
     155          16 :   fNumberOfNegativeTracks(evTag.fNumberOfNegativeTracks),
     156          16 :   fNumberOfNeutralTracks(evTag.fNumberOfNeutralTracks),  
     157          16 :   fNumberOfV0s(evTag.fNumberOfV0s),
     158          16 :   fNumberOfCascades(evTag.fNumberOfCascades),
     159          16 :   fNumberOfKinks(evTag.fNumberOfKinks),
     160          16 :   fNumberOfPMDTracks(evTag.fNumberOfPMDTracks),
     161          16 :   fNumberOfFMDTracks(evTag.fNumberOfFMDTracks),
     162          16 :   fNumberOfPHOSClusters(evTag.fNumberOfPHOSClusters),
     163          16 :   fNumberOfEMCALClusters(evTag.fNumberOfEMCALClusters),
     164          16 :   fNumberOfJetCandidates(evTag.fNumberOfJetCandidates),
     165          16 :   fMaxJetEnergy(evTag.fMaxJetEnergy),
     166          16 :   fNumberOfHardPhotonsCandidates(evTag.fNumberOfHardPhotonsCandidates),
     167          16 :   fMaxNeutralEnergy(evTag.fMaxNeutralEnergy),
     168          16 :   fNumberOfChargedAbove1GeV(evTag.fNumberOfChargedAbove1GeV),
     169          16 :   fNumberOfChargedAbove3GeV(evTag.fNumberOfChargedAbove3GeV),
     170          16 :   fNumberOfChargedAbove10GeV(evTag.fNumberOfChargedAbove10GeV),
     171          16 :   fNumberOfMuonsAbove1GeV(evTag.fNumberOfMuonsAbove1GeV),
     172          16 :   fNumberOfMuonsAbove3GeV(evTag.fNumberOfMuonsAbove3GeV),
     173          16 :   fNumberOfMuonsAbove10GeV(evTag.fNumberOfMuonsAbove10GeV),
     174          16 :   fNumberOfElectronsAbove1GeV(evTag.fNumberOfElectronsAbove1GeV),
     175          16 :   fNumberOfElectronsAbove3GeV(evTag.fNumberOfElectronsAbove3GeV),
     176          16 :   fNumberOfElectronsAbove10GeV(evTag.fNumberOfElectronsAbove10GeV),
     177          16 :   fNumberOfElectrons(evTag.fNumberOfElectrons),
     178          16 :   fNumberOfFWMuons(evTag.fNumberOfFWMuons),
     179          16 :   fNumberOfFWMatchedMuons(evTag.fNumberOfFWMatchedMuons),
     180          16 :   fNumberOfMuons(evTag.fNumberOfMuons),
     181          16 :   fNumberOfPions(evTag.fNumberOfPions),
     182          16 :   fNumberOfKaons(evTag.fNumberOfKaons),
     183          16 :   fNumberOfProtons(evTag.fNumberOfProtons),
     184          16 :   fNumberOfLambdas(evTag.fNumberOfLambdas),
     185          16 :   fNumberOfPhotons(evTag.fNumberOfPhotons),
     186          16 :   fNumberOfPi0s(evTag.fNumberOfPi0s),
     187          16 :   fNumberOfNeutrons(evTag.fNumberOfNeutrons),
     188          16 :   fNumberOfKaon0s(evTag.fNumberOfKaon0s),
     189          16 :   fTotalP(evTag.fTotalP),
     190          16 :   fMeanPt(evTag.fMeanPt),
     191          16 :   fMaxPt(evTag.fMaxPt),
     192          16 :   fEtaMaxPt(evTag.fEtaMaxPt),
     193          16 :   fPhiMaxPt(evTag.fPhiMaxPt),
     194          16 :   fTotalNeutralP(evTag.fTotalNeutralP),
     195          16 :   fMeanNeutralPt(evTag.fMeanNeutralPt),
     196          16 :   fMaxNeutralPt(evTag.fMaxNeutralPt),
     197          16 :   fEventPlaneAngle(evTag.fEventPlaneAngle),
     198          16 :   fHBTRadii(evTag.fHBTRadii),
     199          16 :   fNumberOfFiredChipsLayer1(evTag.fNumberOfFiredChipsLayer1),
     200          16 :   fNumberOfFiredChipsLayer2(evTag.fNumberOfFiredChipsLayer2),
     201          16 :   fNumberOfSPDTracklets(evTag.fNumberOfSPDTracklets),
     202          16 :   fMTotV0A(evTag.fMTotV0A),
     203          16 :   fMTotV0C(evTag.fMTotV0C),
     204          16 :   fNbPMV0A(evTag.fNbPMV0A),
     205          16 :   fNbPMV0C(evTag.fNbPMV0C)
     206          80 :  {
     207             :   // EventTag copy constructor
     208          96 :   for(Int_t i=0; i<2; i++)     fZDCEMEnergy[i] = evTag.fZDCEMEnergy[i];
     209          32 : }
     210             : 
     211             : //___________________________________________________________________________
     212             : AliEventTag & AliEventTag::operator=(const AliEventTag &evTag) {
     213             :   // EventTag assignment operator
     214           0 :   if (this != &evTag) {
     215           0 :     TObject::operator=(evTag);
     216             :     
     217           0 :     SetPeriodNumber(evTag.GetPeriodNumber());
     218           0 :     SetOrbitNumber(evTag.GetOrbitNumber());
     219           0 :     SetBunchCrossNumber(evTag.GetBunchCrossNumber());
     220             :     //*T*    SetFiredTriggerClasses(evTag.GetFiredTriggerClasses());
     221           0 :     SetEventType(evTag.GetEventType());
     222           0 :     SetPhysicsFlag(evTag.GetPhysicsFlag());
     223           0 :     SetBackgroungFlag(evTag.GetBackgroundFlag());
     224             : //     SetGUID(evTag.GetGUID());
     225             : //     SetPath(evTag.GetPath());
     226             : //     SetMD5(evTag.GetMD5());
     227             : //     SetTURL(evTag.GetTURL());
     228             : //     SetSize(evTag.GetSize());
     229           0 :     SetNumOfParticipants(evTag.GetNumOfParticipants());
     230           0 :     SetImpactParameter(evTag.GetImpactParameter());
     231           0 :     SetVertexX(evTag.GetVertexX());
     232           0 :     SetVertexY(evTag.GetVertexY());
     233           0 :     SetVertexZ(evTag.GetVertexZ());
     234           0 :     SetVertexFlag(evTag.GetVertexFlag());
     235           0 :     SetVertexZError(evTag.GetVertexZError());
     236           0 :     SetTriggerMask(evTag.GetTriggerMask());
     237           0 :     SetTriggerCluster(evTag.GetTriggerCluster());
     238           0 :     SetZDCNeutron1Energy(evTag.GetZDCNeutron1Energy());
     239           0 :     SetZDCProton1Energy(evTag.GetZDCProton1Energy());
     240           0 :     SetZDCNeutron2Energy(evTag.GetZDCNeutron2Energy());
     241           0 :     SetZDCProton2Energy(evTag.GetZDCProton2Energy());
     242           0 :     SetZDCEMEnergy(evTag.GetZDCEMEnergy(0),evTag.GetZDCEMEnergy(1));
     243           0 :     SetT0VertexZ(evTag.GetT0VertexZ());
     244           0 :     SetNumOfTracks(evTag.GetNumOfTracks());
     245           0 :     SetNumOfPosTracks(evTag.GetNumOfPosTracks());
     246           0 :     SetNumOfNegTracks(evTag.GetNumOfNegTracks());
     247           0 :     SetNumOfNeutrTracks(evTag.GetNumOfNeutrTracks());
     248           0 :     SetNumOfV0s(evTag.GetNumOfV0s());
     249           0 :     SetNumOfCascades(evTag.GetNumOfCascades());
     250           0 :     SetNumOfKinks(evTag.GetNumOfKinks());
     251           0 :     SetNumOfPMDTracks(evTag.GetNumOfPMDTracks());
     252           0 :     SetNumOfFMDTracks(evTag.GetNumOfFMDTracks());
     253           0 :     SetNumOfPHOSClusters(evTag.GetNumOfPHOSClusters());
     254           0 :     SetNumOfEMCALClusters(evTag.GetNumOfEMCALClusters());
     255           0 :     SetNumOfJetCandidates(evTag.GetNumOfJetCandidates());
     256           0 :     SetNumOfHardPhotonsCandidates(evTag.GetNumOfHardPhotonsCandidates());
     257           0 :     SetMaxJetEnergy(evTag.GetMaxJetEnergy());
     258           0 :     SetMaxNeutralEnergy(evTag.GetMaxNeutralEnergy());
     259           0 :     SetNumOfChargedAbove1GeV(evTag.GetNumOfChargedAbove1GeV());
     260           0 :     SetNumOfChargedAbove3GeV(evTag.GetNumOfChargedAbove3GeV());
     261           0 :     SetNumOfChargedAbove10GeV(evTag.GetNumOfChargedAbove10GeV());
     262           0 :     SetNumOfMuonsAbove1GeV(evTag.GetNumOfMuonsAbove1GeV());
     263           0 :     SetNumOfMuonsAbove3GeV(evTag.GetNumOfMuonsAbove3GeV());
     264           0 :     SetNumOfMuonsAbove10GeV(evTag.GetNumOfMuonsAbove10GeV());
     265           0 :     SetNumOfElectronsAbove1GeV(evTag.GetNumOfElectronsAbove1GeV());
     266           0 :     SetNumOfElectronsAbove3GeV(evTag.GetNumOfElectronsAbove3GeV());
     267           0 :     SetNumOfElectronsAbove10GeV(evTag.GetNumOfElectronsAbove10GeV());
     268           0 :     SetNumOfElectrons(evTag.GetNumOfElectrons());
     269           0 :     SetNumOfFWMuons(evTag.GetNumOfFWMuons());
     270           0 :     SetNumOfFWMatchedMuons(evTag.GetNumOfFWMatchedMuons());
     271           0 :     SetNumOfMuons(evTag.GetNumOfMuons());
     272           0 :     SetNumOfPions(evTag.GetNumOfPions());
     273           0 :     SetNumOfKaons(evTag.GetNumOfKaons());
     274           0 :     SetNumOfProtons(evTag.GetNumOfProtons());
     275           0 :     SetNumOfLambdas(evTag.GetNumOfLambdas());
     276           0 :     SetNumOfPhotons(evTag.GetNumOfPhotons());
     277           0 :     SetNumOfPi0s(evTag.GetNumOfPi0s());
     278           0 :     SetNumOfNeutrons(evTag.GetNumOfNeutrons());
     279           0 :     SetNumOfKaon0s(evTag.GetNumOfKaon0s());
     280           0 :     SetTotalMomentum(evTag.GetTotalMomentum());
     281           0 :     SetMeanPt(evTag.GetMeanPt());
     282           0 :     SetMaxPt(evTag.GetMaxPt());
     283           0 :     SetEtaMaxPt(evTag.GetEtaMaxPt());
     284           0 :     SetPhiMaxPt(evTag.GetPhiMaxPt());
     285           0 :     SetNeutralTotalMomentum(evTag.GetNeutralTotalMomentum());
     286           0 :     SetNeutralMeanPt(evTag.GetNeutralMeanPt());
     287           0 :     SetNeutralMaxPt(evTag.GetNeutralMaxPt());
     288           0 :     SetEventPlaneAngle(evTag.GetEventPlaneAngle());
     289           0 :     SetHBTRadii(evTag.GetHBTRadii());
     290           0 :     SetNumberOfFiredChipsLayer1(evTag.GetNumberOfFiredChipsLayer1());
     291           0 :     SetNumberOfFiredChipsLayer2(evTag.GetNumberOfFiredChipsLayer2());
     292           0 :     SetNumberOfSPDTracklets(evTag.GetNumberOfSPDTracklets());
     293           0 :     SetMTotV0A(evTag.GetMTotV0A());
     294           0 :     SetMTotV0C(evTag.GetMTotV0C());
     295           0 :     SetNbPMV0A(evTag.GetNbPMV0A());
     296           0 :     SetNbPMV0C(evTag.GetNbPMV0C());
     297           0 :   }
     298           0 :   return *this;
     299             : }
     300             : 
     301             : //___________________________________________________________________________
     302          40 : AliEventTag::~AliEventTag() {
     303             :   // AliEventTag destructor
     304          40 : }
     305             : 
     306             : // void AliEventTag::SetGUID(TString Pid) { ((AliFileTag * ) fFileRef.GetObject())->SetGUID(Pid);}
     307             : // void AliEventTag::SetPath(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetPath(Pid);}
     308             : // void AliEventTag::SetMD5(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetMD5(Pid);}
     309             : // void AliEventTag::SetTURL(TString Pid) {((AliFileTag * ) fFileRef.GetObject())->SetTURL(Pid);}
     310             : // void AliEventTag::SetSize(Long64_t i) {((AliFileTag * ) fFileRef.GetObject())->SetSize(i);}
     311             : 
     312             : TString AliEventTag::GetFiredTriggerClasses(TString actclass) const 
     313             : {
     314             :   // Uses the actclass string to decode the trigger mask
     315             :   // into the fired trigger classes
     316             :   // Modifed by rl for 100 classes - to be checked.
     317           0 :   TObjArray *actrig = actclass.Tokenize(" ");
     318           0 :   TString tFired("");
     319             : 
     320           0 :   for(Int_t i = 0; i < actrig->GetEntries(); i++) {
     321           0 :     Bool_t fired=(fTriggerMask & (1ull << i));
     322           0 :     if(i>=50)fired=(fTriggerMaskNext50 & (1ull << (i-50)));
     323           0 :     if (fired) {
     324           0 :       TString str = ((TObjString *) actrig->At(i))->GetString();
     325           0 :       if (tFired.Length() > 0)
     326           0 :         tFired += " ";
     327           0 :       tFired += str;
     328           0 :     }
     329             :   }
     330             : 
     331           0 :   delete actrig;
     332             :   
     333             :   return tFired;
     334           0 : }

Generated by: LCOV version 1.11