]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fix for PF, all information saved in ESD
authorlietava <lietava@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 12 Nov 2011 19:17:12 +0000 (19:17 +0000)
committerlietava <lietava@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 12 Nov 2011 19:17:12 +0000 (19:17 +0000)
STEER/ESD/AliTriggerConfiguration.cxx
STEER/ESD/AliTriggerInput.cxx
STEER/ESD/AliTriggerPFProtection.cxx
STEER/ESD/AliTriggerPFProtection.h

index 18730e7cc8973c1f42dff7f7cb6533a7868f9985..a81d47ddc882ab78742353b6bfed3e4807ccdd8a 100755 (executable)
@@ -631,20 +631,36 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t
           pfp = new AliTriggerPFProtection(((TObjString*)tokens->At(0))->String());
         }
         else {
-           if (ntokens > 13) {
-            AliError(Form("Invalid trigger pfs syntax (%s)!",strLine.Data()));
-            return kFALSE;
-           }
-          pfp = new AliTriggerPFProtection(((TObjString*)tokens->At(0))->String(),
+           if (ntokens == 10){ 
+           pfp = new AliTriggerPFProtection(((TObjString*)tokens->At(0))->String(),
                                            ((TObjString*)tokens->At(1))->String(),
                                            ((TObjString*)tokens->At(2))->String(),
                                            ((TObjString*)tokens->At(3))->String());
-          pfp->SetNa1(((TObjString*)tokens->At(4))->String().Atoi());
-          pfp->SetNa2(((TObjString*)tokens->At(5))->String().Atoi());
-          pfp->SetNb1(((TObjString*)tokens->At(6))->String().Atoi());
-          pfp->SetNb2(((TObjString*)tokens->At(7))->String().Atoi());
-          pfp->SetTa(((TObjString*)tokens->At(8))->String().Atoi());
-          pfp->SetTb(((TObjString*)tokens->At(9))->String().Atoi());
+           pfp->SetNa1(((TObjString*)tokens->At(4))->String().Atoi());
+           pfp->SetNa2(((TObjString*)tokens->At(5))->String().Atoi());
+           pfp->SetNb1(((TObjString*)tokens->At(6))->String().Atoi());
+           pfp->SetNb2(((TObjString*)tokens->At(7))->String().Atoi());
+           pfp->SetTa(((TObjString*)tokens->At(8))->String().Atoi());
+           pfp->SetTb(((TObjString*)tokens->At(9))->String().Atoi());
+         }else if(ntokens == 13){
+           UInt_t pfdef[12];
+           for(Int_t i=0;i<12;i++){
+              TString ss(((TObjString*)tokens->At(i+1))->String());
+              ss.Remove(0,2);
+              UInt_t num=0;
+              for(Int_t j=ss.Length()-1;j>=0;j--){
+               UInt_t nn=ss[j];
+               if(nn<58)nn=nn-48; else nn=10+nn-97;
+               num=num+(1<<(ss.Length()-1-j)*4)*nn;
+               //cout << ss[j] << " " << nn << " "  << num << endl;
+              }
+              pfdef[i]=num;
+           }   
+           pfp = new AliTriggerPFProtection(((TObjString*)tokens->At(0))->String(),pfdef);
+         }else{
+            AliError(Form("Invalid trigger pfs syntax (%s)!",strLine.Data()));
+            return kFALSE;
+          }
         }
         AddPFProtection(pfp);
        }
index 6235ebdc83f11fc8d5fb13ac3477585a1fc0d4ed..f9127f738a439e036096540025b0e2bd9f1425b7 100644 (file)
@@ -112,7 +112,9 @@ void AliTriggerInput::Print( const Option_t* ) const
    cout << "  Detector:    " << GetTitle() << "(Id=" << (Int_t)fDetectorId << ")" << endl;
    cout << "  Level:       " << (Int_t)fLevel << endl;
    cout << "  Signature:   " << fSignature << endl;
+   if(fMask)
    cout << "  Number:      " << (Int_t)TMath::Log2(fMask) << endl;
+   else cout << " fMask:  " << fMask << endl;
    if (IsActive())
      cout << "   Input is active      " << endl;
    else
index abb0f74c78988ce731289ea82d705c7424917fef..39c03ad14b1986018db24811b74bc1fc02809515 100644 (file)
 #include "AliTriggerPFProtection.h"
 
 ClassImp( AliTriggerPFProtection )
-
+//_____________________________________________________________________________
+AliTriggerPFProtection::AliTriggerPFProtection() :
+TNamed(), 
+fINTa(), fINTb(),fINT(),
+fNa1(0),fNa2(0),fTa(0),
+fNb1(0),fNb2(0),fTb(0) 
+{
+for(Int_t i=0;i<12;i++)pfdef[i]=0;
+}
+AliTriggerPFProtection::AliTriggerPFProtection( TString & name) :
+TNamed(name, name), 
+fINTa(), fINTb(),fINT(),
+fNa1(0),fNa2(0),fTa(0),
+fNb1(0),fNb2(0),fTb(0)
+{
+for(Int_t i=0;i<12;i++)pfdef[i]=0;
+}
+AliTriggerPFProtection::AliTriggerPFProtection( TString & name,TString & inta, TString & intb, TString & interaction ) :
+TNamed(name, name), 
+fINTa(inta), fINTb(intb),fINT(interaction),
+fNa1(0),fNa2(0),fTa(0),
+fNb1(0),fNb2(0),fTb(0)
+{
+for(Int_t i=0;i<12;i++)pfdef[i]=0;
+}
+AliTriggerPFProtection::AliTriggerPFProtection(TString& name,UInt_t* pfdefin)
+:TNamed(name,name),
+fINTa(), fINTb(),fINT(),
+fNa1(0),fNa2(0),fTa(0),
+fNb1(0),fNb2(0),fTb(0)
+{
+for(Int_t i=0;i<12;i++)pfdef[i]=pfdefin[i];
+}
 //_____________________________________________________________________________
 void AliTriggerPFProtection::Print( const Option_t* ) const
 {
@@ -56,6 +88,11 @@ void AliTriggerPFProtection::Print( const Option_t* ) const
   cout << "  Interaction:                   " << fINT.Data() << endl;
   cout << "  Na1: " << fNa1 << " Na2: " << fNa2 << " Ta: " << fTa << endl;
   cout << "  Nb1: " << fNb1 << " Nb2: " << fNb2 << " Tb: " << fTb << endl;
+  if(1){
+    cout << "pfdef: " << hex;
+    for(Int_t i=0;i<12;i++)cout << " 0x" << pfdef[i];
+    cout << dec << endl;
+  }
 }
 
 //_____________________________________________________________________________
index 8580afd83ae9d5a5d298133d54e80dbf6eb21669..ce22378f597bc0d9d7ff749eecaee05130befab6 100644 (file)
 class AliTriggerPFProtection : public TNamed {
 
 public:
-                          AliTriggerPFProtection() :
-                           TNamed(), 
-                           fINTa(), fINTb(),fINT(),
-                           fNa1(0),fNa2(0),fTa(0),
-                           fNb1(0),fNb2(0),fTb(0) {}
-                          AliTriggerPFProtection( TString & name) :
-                           TNamed(name, name), 
-                           fINTa(), fINTb(),fINT(),
-                           fNa1(0),fNa2(0),fTa(0),
-                           fNb1(0),fNb2(0),fTb(0) {}
-                          AliTriggerPFProtection( TString & name,
-                                                  TString & inta, TString & intb, TString & interaction ) :
-                           TNamed(name, name), 
-                           fINTa(inta), fINTb(intb),fINT(interaction),
-                           fNa1(0),fNa2(0),fTa(0),
-                           fNb1(0),fNb2(0),fTb(0) {}
+                          AliTriggerPFProtection();
+                          AliTriggerPFProtection( TString & name);
+                          AliTriggerPFProtection( TString & name,TString & inta, TString & intb, TString & interaction );
+                         AliTriggerPFProtection(TString& name, UInt_t* pfdef);  
                virtual   ~AliTriggerPFProtection() {}
 
   //  Setters
@@ -83,11 +71,12 @@ private:
                  UInt_t     fNb1;                 // mmax number of INTb   for  the event of type INT 
                  UInt_t     fNb2;                 // mmax number of INTb for the event of  type NOT INT
                  UInt_t     fTb;                  // mprotection interval for INTb
+                UInt_t     pfdef[12];            // 12 words=3 levels * 4; pfcommon,pfblocka,pfblockb,pflut
 
                AliTriggerPFProtection(const AliTriggerPFProtection & inp );
                AliTriggerPFProtection& operator = (const AliTriggerPFProtection& inp);
 
-   ClassDef( AliTriggerPFProtection, 1 )  // Define a Trigger Past Future Protection 
+   ClassDef( AliTriggerPFProtection, 2 )  // Define a Trigger Past Future Protection 
 };