X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONTrigger.cxx;h=49646beb9a6d3ed2e9f464526bc1d9ea71556181;hb=ffae31e486fb9e96c55676c4fc8b0e1eebc54ebc;hp=2d0bd7d6ef282e90ac1429123a50f8c5810e4b5a;hpb=6b092dfc5b92d57f52172c8c08f1c01fa953c513;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTrigger.cxx b/MUON/AliMUONTrigger.cxx index 2d0bd7d6ef2..49646beb9a6 100644 --- a/MUON/AliMUONTrigger.cxx +++ b/MUON/AliMUONTrigger.cxx @@ -15,21 +15,19 @@ /* $Id$ */ -#include +#include +#include "AliMUONTrigger.h" #include "AliLog.h" +#include "AliMUONGlobalTrigger.h" +#include "AliMUONVTriggerStore.h" #include "AliRun.h" #include "AliRunLoader.h" +#include "AliLoader.h" #include "AliTriggerInput.h" -#include "AliMUON.h" -#include "AliMUONSimLoader.h" -#include "AliMUONData.h" -#include "AliMUONDigit.h" -#include "AliMUONGlobalTrigger.h" -#include "AliMUONTrigger.h" -/// +//----------------------------------------------------------------------------- /// \class AliMUONTrigger /// /// Implementation of AliTriggerDetector for MUON detector @@ -37,6 +35,9 @@ /// So far, the inputs are taken from AliMUONTriggerDecision object /// April 06, E.L.T. /// May 06, taken info from Global Trigger branch (Ch.F) +/// +/// \author E. Lopez Torres +//----------------------------------------------------------------------------- //---------------------------------------------------------------------- /// \cond CLASSIMP @@ -45,7 +46,7 @@ ClassImp(AliMUONTrigger) //---------------------------------------------------------------------- AliMUONTrigger::AliMUONTrigger() - : AliTriggerDetector() + : AliTriggerDetector(), fTriggerStore(0x0) { /// Default constructor @@ -56,7 +57,8 @@ AliMUONTrigger::AliMUONTrigger() //---------------------------------------------------------------------- AliMUONTrigger::~AliMUONTrigger() { -/// Destructor + /// Destructor + delete fTriggerStore; } //---------------------------------------------------------------------- @@ -67,14 +69,14 @@ void AliMUONTrigger::CreateInputs() // Do not create inputs again!! if( fInputs.GetEntriesFast() > 0 ) return; - fInputs.AddLast( new AliTriggerInput( "MUON_Single_LPt_L0", "Single Low Pt", 0x01 ) ); - fInputs.AddLast( new AliTriggerInput( "MUON_Single_HPt_L0", "Single High Pt", 0x02 ) ); + fInputs.AddLast( new AliTriggerInput( "0MSL", "MUONTRG", 0 ) ); + fInputs.AddLast( new AliTriggerInput( "0MSH", "MUONTRG", 0 ) ); - fInputs.AddLast( new AliTriggerInput( "MUON_Unlike_LPt_L0", "Dimuon Unlike Sign pair Low Pt", 0x04 ) ); - fInputs.AddLast( new AliTriggerInput( "MUON_Unlike_HPt_L0", "Dimuon Unlike Sign pair High Pt", 0x08 ) ); + fInputs.AddLast( new AliTriggerInput( "0MUL", "MUONTRG", 0 ) ); + fInputs.AddLast( new AliTriggerInput( "0MUH", "MUONTRG", 0 ) ); - fInputs.AddLast( new AliTriggerInput( "MUON_Like_LPt_L0", "Dimuon Like Sign pair Low Pt", 0x10 ) ); - fInputs.AddLast( new AliTriggerInput( "MUON_Like_HPt_L0", "Dimuon Like Sign pair High Pt", 0x20 ) ); + fInputs.AddLast( new AliTriggerInput( "0MLL", "MUONTRG", 0 ) ); + fInputs.AddLast( new AliTriggerInput( "0MLH", "MUONTRG", 0 ) ); } //---------------------------------------------------------------------- @@ -82,42 +84,56 @@ void AliMUONTrigger::Trigger() { /// sets the trigger inputs - AliMUONGlobalTrigger* globalTrigger; - TClonesArray* globalTriggerArray; - - AliRunLoader* runLoader = gAlice->GetRunLoader(); - - AliLoader * muonLoader = runLoader->GetLoader("MUONLoader"); + AliRunLoader* runLoader = AliRunLoader::Instance(); + + AliLoader * muonLoader = runLoader->GetDetectorLoader("MUON"); muonLoader->LoadDigits("READ"); - // Creating MUON data container - AliMUONData* muonData = new AliMUONData(muonLoader,"MUON","MUON"); - - // get global info - muonData->SetTreeAddress("GLT"); - muonData->GetTriggerD(); - globalTriggerArray = muonData->GlobalTrigger(); - if (globalTriggerArray == 0x0) { - AliWarning("No Global Trigger Array available"); + TTree* treeD = muonLoader->TreeD(); + + if (!treeD) + { + AliError("No TreeD available. Cannot make trigger"); return; } - globalTrigger = (AliMUONGlobalTrigger*)globalTriggerArray->UncheckedAt(0); + + if (!fTriggerStore) + { + fTriggerStore = AliMUONVTriggerStore::Create(*treeD); + if (!fTriggerStore) + { + AliError("Could not create triggerStore from treeD"); + return; + } + } - if (globalTrigger == 0x0) { - AliWarning("No Global Trigger available"); + Bool_t ok = fTriggerStore->Connect(*treeD,kTRUE); + + if (!ok) + { + AliError("Could not read trigger from TreeD !"); return; } - // set CTP - if (globalTrigger->SingleLpt()) SetInput("MUON_Single_LPt_L0"); - if (globalTrigger->SingleHpt()) SetInput("MUON_Single_HPt_L0"); - if (globalTrigger->PairUnlikeLpt()) SetInput("MUON_Unlike_LPt_L0"); - if (globalTrigger->PairUnlikeHpt()) SetInput("MUON_Unlike_HPt_L0"); + treeD->GetEvent(0); - if (globalTrigger->PairLikeLpt()) SetInput("MUON_Like_LPt_L0"); - if (globalTrigger->PairLikeHpt()) SetInput("MUON_Like_HPt_L0"); - - muonData->ResetTrigger(); + AliMUONGlobalTrigger* globalTrigger = fTriggerStore->Global(); + if (globalTrigger == 0x0) + { + AliWarning("No Global Trigger available"); + } + else + { + // set CTP + if (globalTrigger->SingleLpt()) SetInput("0MSL"); + if (globalTrigger->SingleHpt()) SetInput("0MSH"); + + if (globalTrigger->PairUnlikeLpt()) SetInput("0MUL"); + if (globalTrigger->PairUnlikeHpt()) SetInput("0MUH"); + + if (globalTrigger->PairLikeLpt()) SetInput("0MLL"); + if (globalTrigger->PairLikeHpt()) SetInput("0MLH"); + } muonLoader->UnloadDigits(); - + fTriggerStore->Clear(); }