]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/createTriggerDescriptor_PbPb.C
Adding the default p-p trigger configuration. Minor corrections to the Pb-Pb configur...
[u/mrichter/AliRoot.git] / STEER / createTriggerDescriptor_PbPb.C
1 createTriggerDescriptor_PbPb()
2 {
3    // create Trigger Descriptor for Pb-Pb interactions
4
5
6    AliTriggerDescriptor descrip( "Pb-Pb", "Default Pb-Pb Descriptor" );
7
8    // Define a Cluster Detector
9    //descrip.AddDetectorCluster( "ALL" );
10    descrip.AddDetectorCluster( "ITS TRD PHOS EMCAL MUON ZDC START VZERO" ); // no CRT yet
11
12    // Define the trigger conditions form Table 4.2 TDR DAQ, Trigger pag 59
13
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.
16
17    // 1
18    descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & ZDC_1_L1",// & TRD_pre_L0
19                          "MB",                    "Minimum Bias",
20                          (ULong64_t)0x1  );
21    // 2
22    descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & ZDC_2_L1",// & TRD_pre_L0
23                          "SC",                    "Semi Central",
24                          (ULong64_t)0x1 << 1 );
25    // 3
26    descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & ZDC_3_L1",// & TRD_pre_L0
27                          "CE",                    "Central",
28                          (ULong64_t)0x1 << 2 );
29    // 4
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 );
33    // 5
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 );
37    // 6 same as 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 );
41    // 7
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 );
45    // 8
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 );
49    // 9
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 );
53    // 10
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 );
57    // 11 same as 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 );
61    // 12
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 );
65    // 13
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 );
69
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",    
81
82    // 14
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 );
86    // 15
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 );
90    // 16
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 );
94    // 17
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 );
98    // 18
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 );
102    // 19
103    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Unlike_EPair_HPt_L1 & ZDC_1_L1",  // & TRD_pre_L0
104    //                         "TDRUnlikeHPt_MB",       "TDR Unlike Electron Pair High Pt Minimum Bias",
105    //                         (ULong64_t)0x1 << 18 );
106    // 20
107    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Unlike_EPair_HPt_L1 & ZDC_2_L1",  // & TRD_pre_L0
108    //                      "TDRUnlikeHPt_SC",       "TDR Unlike Electron Pair High Pt Semi Central",
109    //                    (ULong64_t)0x1 << 19 );
110    // 21
111    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & TRD_Like_EPair_HPt_L1 & ZDC_1_L1",  // & TRD_pre_L0
112    //                         "TDRLikeHPt_MB",         "TDR Like Electron Pair High Pt Minimum Bias",
113    //                         (ULong64_t)0x1 << 20 );
114    // 22
115    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & TRD_Like_EPair_HPt_L1 & ZDC_2_L1",  // & TRD_pre_L0
116    //                    "TDRLikeHPt_SC",         "TDR Like Electron Pair High Pt Semi Central",
117    //                    (ULong64_t)0x1 << 21 );
118
119    // TRD Jet inputs are not yet implemented
120
121    // 23
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 );
125    // 24
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 );
129    // 25
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 );
133
134    // 26
135    //   descrip.AddCondition( "(START_Vertex_L0 & VZERO_AND) & PHOS_PbPb_JetHPt_L1 & ZDC_1_L1",  // & TRD_pre_L0
136    //                         "PHOSHPt_MB",            "PHOS High Pt Minimum Bias",
137    //                         (ULong64_t)0x1 << 25 );
138    // 27
139    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & PHOS_PbPb_JetLPt_L1 & ZDC_1_L1",  // & TRD_pre_L0
140    //                    "PHOSLPt_MB",            "PHOS Low Pt Minimum Bias",
141    //                    (ULong64_t)0x1 << 26 );
142    // 28
143    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & PHOS_PbPb_JetLPt_L1 & ZDC_2_L1",  // & TRD_pre_L0
144    //                    "PHOSLPt_SC",            "PHOS Low Pt Semi Central",
145    //                    (ULong64_t)0x1 << 27 );
146    // 29
147    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & PHOS_MB_PbPb_L0 & ZDC_1_L1",
148    //                    "PHOSStand-along",       "PHOS Stand-along Minimum Bias",
149    //                    (ULong64_t)0x1 << 28 );
150    // 30
151    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_PbPb_JetHPt_L1 & ZDC_1_L1",
152    //                    "EMCALJetHPt_MB",        "EMCAL Jet High Pt Minimum Bias",
153    //                       (ULong64_t)0x1 << 29 );
154    // 31
155    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_PbPb_JetMPt_L1 & ZDC_1_L1",
156    //                 "EMCALJetMPt_MB",        "EMCAL Jet Medium Pt Minimum Bias",
157    //                    (ULong64_t)0x1 << 30 );
158    // 32
159    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_AND & EMCAL_PbPb_JetLPt_L1 & ZDC_1_L1",
160    //                    "EMCALJetLPt_MB",        "EMCAL Jet Low Pt Minimum Bias",
161    //                    (ULong64_t)0x1 << 31 );
162    // 33
163    //   descrip.AddCondition( "START_Vertex_L0 & VZERO_OR & EMCAL_PbPb_JetLPt_L1 & ZDC_2_L1",
164    //                    "EMCALJetLPt_SC",        "EMCAL Jet Low Pt Semi Central",
165    //                    (ULong64_t)0x1 << 32 );
166    // 34
167    descrip.AddCondition( "ZDC_EMD_L1", // CRT_L0
168                          "ZDC_diss",              "ZDC EMD Event",
169                          (ULong64_t)0x1 << 33 ); 
170    // 35
171 //   descrip.AddCondition( "CRT_cosmic_L0",
172 //                         "CRT_cosmic",            "CRT cosmic telescope",
173 //                         (ULong64_t)0x1 << 34 );
174
175    // 36
176    descrip.AddCondition( "!START_Vertex_L0",
177                          "Beam-gas",              "Beam Gas Event",
178                          (ULong64_t)0x1 << 35 );
179
180
181    cout << endl << endl;
182
183    if( !descrip.CheckInputsConditions("Config.C") ) {
184       cerr << "\n ERROR: There are some problems on descriptor definition..." << endl;
185       return;
186    }
187
188    cout << endl << endl;
189
190    cout << "************************************************************" << endl;
191    cout << "New Trigger descriptor" << endl;
192    cout << "************************************************************" << endl;
193    descrip.Print();
194
195    // save the descriptor to file
196    descrip.WriteDescriptor();
197
198    cout << endl << endl << endl;
199    cout << "************************************************************" << endl;
200    cout << "Available Trigger descriptors" << endl;
201    cout << "************************************************************" << endl;
202
203    // Get and print all available descriptors
204    TObjArray* desc = AliTriggerDescriptor::GetAvailableDescriptors();
205
206    if( !desc || !desc->GetEntriesFast() ) {
207       cerr << "Not descriptors availables" << endl;
208       return;
209    }
210
211    Int_t ndesc = desc->GetEntriesFast();
212    for( Int_t j=0; j<ndesc; j++ ) {  
213       AliTriggerDescriptor* de = (AliTriggerDescriptor*)desc->At(j); 
214       de->Print();
215    }
216
217 }
218