1 createTriggerDescriptor_PbPb()
3 // create Trigger Descriptor for Pb-Pb interactions
6 AliTriggerDescriptor descrip( "Pb-Pb", "Default Pb-Pb Descriptor" );
8 // Define a Cluster Detector
9 //descrip.AddDetectorCluster( "ALL" );
10 descrip.AddDetectorCluster( "ITS TRD PHOS EMCAL MUON ZDC START VZERO" ); // no CRT yet
12 // Define the trigger conditions form Table 4.2 TDR DAQ, Trigger pag 59
14 // TRD_pre_L0 input is not generated in simulation as it is a no busy signal, so, it is not
15 // include in the conditions.
18 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & ZDC_1_L1",// & TRD_pre_L0
22 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & ZDC_2_L1",// & TRD_pre_L0
24 (ULong64_t)0x1 << 1 );
26 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & ZDC_3_L1",// & TRD_pre_L0
28 (ULong64_t)0x1 << 2 );
30 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Unlike_HPt_L0 & ZDC_1_L1", // & TRD_pre_L0
31 "DMUnlikeHPt_TPC_MB", "Di Muon Unlike High Pt TPC Minimum Bias",
32 (ULong64_t)0x1 << 3 );
34 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & MUON_Unlike_HPt_L0 & ZDC_2_L1", // & TRD_pre_L0
35 "DMUnlikeHPt_TPC_SC", "Di Muon Unlike High Pt TPC Semi Central",
36 (ULong64_t)0x1 << 4 );
38 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Unlike_HPt_L0 & ZDC_1_L1",
39 "DMUnlikeHPt_noTPC_MB", "Di Muon Unlike High Pt no TPC Minimum Bias",
40 (ULong64_t)0x1 << 5 );
42 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Unlike_LPt_L0 & ZDC_1_L1",
43 "DMUnlikeLPt_noTPC_MB", "Di Muon Unlike Low Pt no TPC Minimum Bias",
44 (ULong64_t)0x1 << 6 );
46 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & MUON_Unlike_LPt_L0 & ZDC_2_L1",
47 "DMUnlikeLPt_noTPC_SC", "Di Muon Unlike Low Pt no TPC Semi Central",
48 (ULong64_t)0x1 << 7 );
50 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Like_HPt_L0 & ZDC_1_L1", // & TRD_pre_L0
51 "DMLikeHPt_TPC_MB", "Di Muon Like Low Pt TPC Minimum Bias",
52 (ULong64_t)0x1 << 8 );
54 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & MUON_Like_HPt_L0 & ZDC_2_L1", // & TRD_pre_L0
55 "DMLikeHPt_TPC_SC", "Di Muon Like High Pt TPC Semi Central",
56 (ULong64_t)0x1 << 9 );
58 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Like_HPt_L0 & ZDC_1_L1",
59 "DMLikeHPt_noTPC_MB", "Di Muon Like High Pt no TPC Minimum Bias",
60 (ULong64_t)0x1 << 10 );
62 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Like_LPt_L0 & ZDC_1_L1",
63 "DMLikeLPt_noTPC_MB", "Di Muon Like Low Pt no TPC Minimum Bias",
64 (ULong64_t)0x1 << 11 );
66 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & MUON_Like_LPt_L0 & ZDC_2_L1",
67 "DMLikeLPt_noTPC_SC", "Di Muon Like Low Pt no TPC Semi Central",
68 (ULong64_t)0x1 << 12 );
70 // the current implementation of MUON trigger class has to change the inputs to match the following conditions
71 // now they have 9 inputs instead of 1 for MUON single
72 // "MUON_SPlus_LPt_L0", "Single Plus Low Pt",
73 // "MUON_SPlus_HPt_L0", "Single Plus High Pt",
74 // "MUON_SPlus_All_L0", "Single Plus All",
75 // "MUON_SMinus_LPt_L0", "Single Minus Low Pt",
76 // "MUON_SMinus_HPt_L0", "Single Minus High Pt",
77 // "MUON_SMinus_All_L0", "Single Minus All",
78 // "MUON_SUndef_LPt_L0", "Single Undefined Low Pt",
79 // "MUON_SUndef_HPt_L0", "Single Undefined High Pt",
80 // "MUON_SUndef_All_L0", "Single Undefined All",
83 // descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & MUON_Single_L0 & TRD_Electron_L1 & ZDC_1_L1", // & TRD_pre_L0
84 // "DMSingleTDRe_MB", "Di Muon Single TDR electron Minimum Bias",
85 // (ULong64_t)0x1 << 13 );
87 // descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & MUON_Single_L0 & TRD_Electron_L1 & ZDC_2_L1", // & TRD_pre_L0
88 // "DMSingleTDRe_SC", "Di Muon Single TDR electron Semi Central",
89 // (ULong64_t)0x1 << 14 );
91 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Electron_L1 & ZDC_1_L1", // & TRD_pre_L0
92 "TDRe_MB", "TDR electron Minimum Bias",
93 (ULong64_t)0x1 << 15 );
95 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_HadrLPt_L1 & ZDC_1_L1", // & TRD_pre_L0
96 "TDRLPt_MB", "TDR Low Pt Minimum Bias",
97 (ULong64_t)0x1 << 16 );
99 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_HadrHPt_L1 & ZDC_1_L1", // & TRD_pre_L0
100 "TDRHPt_MB", "TDR High Pt Minimum Bias",
101 (ULong64_t)0x1 << 17 );
103 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Unlike_EPair_L1 & ZDC_1_L1", // & TRD_pre_L0
104 "TDRUnlikeHPt_MB", "TDR Unlike Electron Pair High Pt Minimum Bias",
105 (ULong64_t)0x1 << 18 );
107 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Unlike_EPair_L1 & ZDC_2_L1", // & TRD_pre_L0
108 "TDRUnlikeHPt_SC", "TDR Unlike Electron Pair High Pt Semi Central",
109 (ULong64_t)0x1 << 19 );
111 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Like_EPair_L1 & ZDC_1_L1", // & TRD_pre_L0
112 "TDRLikeHPt_MB", "TDR Like Electron Pair High Pt Minimum Bias",
113 (ULong64_t)0x1 << 20 );
115 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Like_EPair_L1 & ZDC_2_L1", // & TRD_pre_L0
116 "TDRLikeHPt_SC", "TDR Like Electron Pair High Pt Semi Central",
117 (ULong64_t)0x1 << 21 );
119 // TRD Jet inputs are not yet implemented
122 // descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Jet_HPt_L1 & ZDC_2_L1", // & TRD_pre_L0
123 // "TDRJetHPt_SC", "TDR Jet High Pt Semi Central",
124 // (ULong64_t)0x1 << 22 );
126 // descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Jet_LPt_L1 & ZDC_1_L1", // & TRD_pre_L0
127 // "TDRJetLPt_MB", "TDR Jet Low Pt Minimum Bias",
128 // (ULong64_t)0x1 << 23 );
130 // descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Jet_LPt_L1 & ZDC_2_L1", // & TRD_pre_L0
131 // "TDRJetLPt_SC", "TDR Jet Low Pt Semi Central",
132 // (ULong64_t)0x1 << 24 );
135 descrip.AddCondition( "(START_Vertex_L0 & VZERO_AND) & PHOS_JetHPt_L1 & ZDC_1_L1", // & TRD_pre_L0
136 "PHOSHPt_MB", "PHOS High Pt Minimum Bias",
137 (ULong64_t)0x1 << 25 );
139 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & PHOS_JetLPt_L1 & ZDC_1_L1", // & TRD_pre_L0
140 "PHOSLPt_MB", "PHOS Low Pt Minimum Bias",
141 (ULong64_t)0x1 << 26 );
143 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & PHOS_JetLPt_L1 & ZDC_2_L1", // & TRD_pre_L0
144 "PHOSLPt_SC", "PHOS Low Pt Semi Central",
145 (ULong64_t)0x1 << 27 );
147 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & PHOS_L0 & ZDC_1_L1",
148 "PHOSStand-along", "PHOS Stand-along Minimum Bias",
149 (ULong64_t)0x1 << 28 );
151 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_JetHPt_L1 & ZDC_1_L1",
152 "EMCALJetHPt_MB", "EMCAL Jet High Pt Minimum Bias",
153 (ULong64_t)0x1 << 29 );
155 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_JetMPt_L1 & ZDC_1_L1",
156 "EMCALJetMPt_MB", "EMCAL Jet Medium Pt Minimum Bias",
157 (ULong64_t)0x1 << 30 );
159 descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_JetLPt_L1 & ZDC_1_L1",
160 "EMCALJetLPt_MB", "EMCAL Jet Low Pt Minimum Bias",
161 (ULong64_t)0x1 << 31 );
163 descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & EMCAL_JetLPt_L1 & ZDC_2_L1",
164 "EMCALJetLPt_SC", "EMCAL Jet Low Pt Semi Central",
165 (ULong64_t)0x1 << 32 );
167 descrip.AddCondition( "ZDC_EMD_L1", // CRT_L0
168 "ZDC_diss", "ZDC EMD Event",
169 (ULong64_t)0x1 << 33 );
171 // descrip.AddCondition( "CRT_cosmic_L0",
172 // "CRT_cosmic", "CRT cosmic telescope",
173 // (ULong64_t)0x1 << 34 );
176 descrip.AddCondition( "!START_Vertex_L0",
177 "Beam-gas", "Beam Gas Event",
178 (ULong64_t)0x1 << 35 );
181 cout << endl << endl;
183 if( !descrip.CheckInputsConditions("Config.C") ) {
184 cerr << "\n ERROR: There are some problems on descriptor definition..." << endl;
188 cout << endl << endl;
190 cout << "************************************************************" << endl;
191 cout << "New Trigger descriptor" << endl;
192 cout << "************************************************************" << endl;
195 // save the descriptor to file
196 descrip.WriteDescriptor();
198 cout << endl << endl << endl;
199 cout << "************************************************************" << endl;
200 cout << "Available Trigger descriptors" << endl;
201 cout << "************************************************************" << endl;
203 // Get and print all available descriptors
204 TObjArray* desc = AliTriggerDescriptor::GetAvailableDescriptors();
206 if( !desc || !desc->GetEntriesFast() ) {
207 cerr << "Not descriptors availables" << endl;
211 Int_t ndesc = desc->GetEntriesFast();
212 for( Int_t j=0; j<ndesc; j++ ) {
213 AliTriggerDescriptor* de = (AliTriggerDescriptor*)desc->At(j);