]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add selection of event depending on the trigger that fired it.
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 15:11:37 +0000 (15:11 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Dec 2009 15:11:37 +0000 (15:11 +0000)
PWG4/PartCorrBase/AliAnaPartCorrMaker.cxx
PWG4/PartCorrBase/AliCaloTrackAODReader.cxx
PWG4/PartCorrBase/AliCaloTrackAODReader.h
PWG4/PartCorrBase/AliCaloTrackESDReader.cxx
PWG4/PartCorrBase/AliCaloTrackESDReader.h
PWG4/PartCorrBase/AliCaloTrackReader.cxx
PWG4/PartCorrBase/AliCaloTrackReader.h

index 38384e7046a74c8bf7b1937cc41ead2fcd481c1e..b51a03e56427dadb6dc5187296c85e9abc5716ea 100755 (executable)
@@ -243,7 +243,7 @@ void AliAnaPartCorrMaker::ProcessEvent(const Int_t iEntry, const char * currentF
   //Tell the reader to fill the data in the 3 detector lists
   Bool_t ok = fReader->FillInputEvent(iEntry, currentFileName);
   if(!ok){
-         printf("*** Skip event *** %d \n",iEntry);
+         if(fAnaDebug >= 1 )printf("*** Skip event *** %d \n",iEntry);
          return ;
   }
        
index 9d0d95ff9dd549f134e34f4ce2f058f9f537fc36..bc91fdf7979594f762010e4956350ccb4cc8f76e 100755 (executable)
@@ -31,7 +31,6 @@
 
 //---- ANALYSIS system ----
 #include "AliCaloTrackAODReader.h" 
-#include "AliAODEvent.h"
 #include "AliAODCaloCluster.h"
 #include "AliAODTrack.h"
 #include "AliESDtrack.h"
index e3a39320e507e973f117a6c24150a6722a835f1c..14a67322bd545bf772d400b9f2c0ecfef8f345f6 100755 (executable)
@@ -17,6 +17,7 @@
 
 // --- AliRoot system ---
 #include "AliCaloTrackReader.h" 
+#include "AliAODEvent.h"
 
 class AliCaloTrackAODReader : public AliCaloTrackReader {
        
@@ -42,6 +43,8 @@ public:
   void SwitchOnWriteStdAOD()  {fWriteOutputStdAOD = kTRUE;}
   void SwitchOffWriteStdAOD() {fWriteOutputStdAOD = kFALSE;}
 
+  TString GetFiredTriggerClasses() {return ((AliAODEvent*)GetInputEvent())->GetFiredTriggerClasses();}
+       
   void Print(const Option_t * opt) const;
        
 private:
index 41f5906fa289bab189102879a1163ab905889f3d..cbca34f61fcce6f249b317377c57266d52a07211 100755 (executable)
@@ -35,7 +35,6 @@
 
 //---- ANALYSIS system ----
 #include "AliCaloTrackESDReader.h" 
-#include "AliESDEvent.h"
 #include "AliESDCaloCluster.h"
 #include "AliAODCaloCluster.h"
 #include "AliAODTrack.h"
index 4a7d21ff5afd7d5cbf7b9d7d5a4bbc1b7c555add..de087c14a2c7df2b760116552f428b1237c42e15 100755 (executable)
@@ -20,6 +20,7 @@
 
 // --- AliRoot system ---
 #include "AliCaloTrackReader.h" 
+#include "AliESDEvent.h"
 
 class AliCaloTrackESDReader : public AliCaloTrackReader {
   
@@ -39,7 +40,9 @@ class AliCaloTrackESDReader : public AliCaloTrackReader {
   void GetVertex(Double_t v[3]) const ;
   Double_t GetBField() const;
   void SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ; 
-  
+       
+  TString GetFiredTriggerClasses() {return ((AliESDEvent*)GetInputEvent())->GetFiredTriggerClasses();}
+       
   ClassDef(AliCaloTrackESDReader,1)
     } ;
 
index 45ba54dc84f6e78d9ed1f4b9623ad2b411f25f2a..56edc068a69dd2f3dc50eb6723c3bd934c905014 100755 (executable)
@@ -55,7 +55,7 @@ ClassImp(AliCaloTrackReader)
        fAODCTSNormalInputEntries(0), fAODEMCALNormalInputEntries(0), 
     fAODPHOSNormalInputEntries(0), fTrackStatus(0), 
        fReadStack(kFALSE), fReadAODMCParticles(kFALSE), 
-       fCleanOutputStdAOD(kFALSE), fDeltaAODFileName("deltaAODPartCorr.root")
+       fCleanOutputStdAOD(kFALSE), fDeltaAODFileName("deltaAODPartCorr.root"),fFiredTriggerClassName("")
 {
   //Ctor
   
@@ -88,7 +88,8 @@ AliCaloTrackReader::AliCaloTrackReader(const AliCaloTrackReader & g) :
   fAODPHOSNormalInputEntries(g.fAODPHOSNormalInputEntries),
   fTrackStatus(g.fTrackStatus),
   fReadStack(g.fReadStack), fReadAODMCParticles(g.fReadAODMCParticles),
-  fCleanOutputStdAOD(g.fCleanOutputStdAOD), fDeltaAODFileName(g.fDeltaAODFileName)
+  fCleanOutputStdAOD(g.fCleanOutputStdAOD), fDeltaAODFileName(g.fDeltaAODFileName),
+   fFiredTriggerClassName(g.fFiredTriggerClassName  )
 {
   // cpy ctor
   
@@ -145,6 +146,7 @@ AliCaloTrackReader & AliCaloTrackReader::operator = (const AliCaloTrackReader &
        
   fCleanOutputStdAOD  = source.fCleanOutputStdAOD;
   fDeltaAODFileName   = source.fDeltaAODFileName;
+  fFiredTriggerClassName = source.fFiredTriggerClassName  ;
        
   return *this;
   
@@ -358,6 +360,7 @@ void AliCaloTrackReader::InitParameters()
   fReadAODMCParticles    = kFALSE; // Check in the constructor of the other readers if it was set or in the configuration file
   fCleanOutputStdAOD     = kFALSE; // Clean the standard clusters/tracks?
   fDeltaAODFileName      = "deltaAODPartCorr.root";
+  fFiredTriggerClassName      = "";
 }
 
 
@@ -401,7 +404,15 @@ Bool_t AliCaloTrackReader::FillInputEvent(const Int_t iEntry, const char * curre
 
   fEventNumber = iEntry;
   fCurrentFileName = TString(currentFileName);
-       
+
+  //Select events only fired by a certain trigger configuration if it is provided
+  if( fFiredTriggerClassName  !=""){
+       if(fDebug > 0) 
+               printf("AliCaloTrackReader::FillInputEvent() - FiredTriggerClass <%s>, selected class <%s>, compare name %d\n",
+                               GetFiredTriggerClasses().Data(),fFiredTriggerClassName.Data(), GetFiredTriggerClasses().Contains(fFiredTriggerClassName));
+         if( !GetFiredTriggerClasses().Contains(fFiredTriggerClassName) ) return kFALSE;
+  }
+
   if(fOutputEvent && (fDataType != kAOD) && ((fOutputEvent->GetCaloClusters())->GetEntriesFast()!=0 ||(fOutputEvent->GetTracks())->GetEntriesFast()!=0)){
     printf("AliCaloTrackReader::AODCaloClusters or AODTracks already filled by the filter, do not use the ESD reader, use the AOD reader, STOP\n");
     abort();
@@ -422,8 +433,7 @@ Bool_t AliCaloTrackReader::FillInputEvent(const Int_t iEntry, const char * curre
                         printf("AliCaloTrackReader::FillInputEvent() - Skip events from event %d, no more events in second AOD file \n", iEntry);
                 return kFALSE;
         }
-         printf("Reader 4 \n");
-
+         
         //Get the Event
         Int_t nbytes = fSecondInputAODTree->GetEvent(iEntry+fSecondInputFirstEvent);
         if ( nbytes == 0 ) {//If nothing in AOD
index c25993469735347212a072e69144440001e1b447..5d4fcaf72a5701eae0bafa114a254d06a6f902d9 100755 (executable)
@@ -170,6 +170,10 @@ class AliCaloTrackReader : public TObject {
        
   void SetDeltaAODFileName(TString name ) {fDeltaAODFileName = name ; }
   TString GetDeltaAODFileName() const {return fDeltaAODFileName ; }
+
+  void SetFiredTriggerClassName(TString name ) {fFiredTriggerClassName = name ; }
+  TString GetFiredTriggerClassName() const {return fFiredTriggerClassName ; }
+  virtual TString GetFiredTriggerClasses() {return "";}
        
  protected:
   Int_t                   fEventNumber; // Event number
@@ -216,8 +220,9 @@ class AliCaloTrackReader : public TObject {
        
   Bool_t            fCleanOutputStdAOD;   // clean the written standard tracks and caloclusters in output AOD
   TString        fDeltaAODFileName ;   // Delta AOD file name
-
-  ClassDef(AliCaloTrackReader,8)
+  TString        fFiredTriggerClassName  ;  // Name of trigger event type used to do the analysis
+       
+  ClassDef(AliCaloTrackReader,9)
 } ;